Udostępnij za pośrednictwem


Używanie odwołań do kodu niestandardowego w wyrażeniach (program Report Builder 2,0)

Można dodawać odwołania do kodu niestandardowego osadzonego w raporcie.Kodu osadzonego można używać w celu tworzenia stałych niestandardowych, funkcji złożonych lub funkcji wielokrotnie używanych w jednym raporcie.

W przypadku obliczeń zależnych od czasu, które są wykonywanie raz w czasie wykonywania i których wartość ma być niezmienna w trakcie całego przetwarzania raportu, warto rozważyć użycie zmiennej raportu lub zmiennej grupy.Aby uzyskać więcej informacji zobaczUżywanie w wyrażeniach odwołań do kolekcji zmiennych raportu i zmiennych grupy (program Report Builder 2,0).

Kod niestandardowy może zawierać nowe stałe niestandardowe, zmienne, funkcje lub podprocedury.Można używać odwołań tylko do odczytu do kolekcji wbudowanych, takich jak kolekcja Parameters.Nie można jednak przekazywać zestawów wartości danych raportu do funkcji niestandardowych; w szczególności nie są obsługiwane niestandardowe wartości zagregowane.

Kod osadzony

Aby dodać kodu osadzonego do raportu, należy użyć stronie kodowej Właściwości raportu -okno dialogowe.Tworzony blok kodu może zawierać wiele metod.Methods in embedded code must be written in Microsoft Visual Basic and must be instance-based.Procesor raportu powoduje automatyczne dodawanie odwołania do System.Convert i System.Math obszary nazw. W programie Report Builder 2.0 odwołania do dodatkowych zestawów są nieobsługiwane.

Metody w kodzie osadzonym są dostępne za pośrednictwem zdefiniowanych globalnie Code element członkowski. Odwołując się do nich dostęp Code element członkowski członkowski i jej nazwę. W poniższym przykładzie wywoła metoda ToUSD, które konwertuje wartość w StandardCost pole wartość dolara:

=Code.ToUSD(Fields!StandardCost.Value)

Aby odwołać się wbudowanych kolekcji w kodzie niestandardowym, należy dołączyć odwołanie do wbudowane Report obiekt:

=Report.Parameters!Param1.Value

Następujące przykłady przedstawiają sposób definiowania niektóre niestandardowe stałych i zmiennych.

Public Const MyNote = "Authored by Bob"
Public Const NCopies As Int32 = 2
Public Dim  MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456

Mimo że stałych niestandardowe nie pojawiają się w Stałe kategoriiWyrażenie okno dialogowe (która wyświetla tylko wbudowane stałe), można dodać odwołania do nich z dowolnym wyrażeniem, jak pokazano w poniższych przykładach.W wyrażeniu, niestandardowe stała jest traktowany jako Variant.

=Code.MyNote
=Code.NCopies
=Code.MyVersion
=Code.MyDoubleVersion

Aby uzyskać więcej informacji na temat kolekcjach obiektów wbudowanych i inicjalizacji zobacz Za pomocą kolekcje globalnego w wyrażeniach.

Przykłady odwołań do parametrów z poziomu kodu niestandardowego

Do globalnej kolekcji parametrów można odwoływać się za pomocą kodu niestandardowego w bloku kodu definicji raportu lub w zestawie niestandardowym dostarczonym przez użytkownika.Kolekcja parametrów jest przeznaczona tylko do odczytu i nie zawiera iteratorów publicznych.You cannot use a Visual BasicFor Each construct to step through the collection.Należy znać nazwę parametru zdefiniowanego w definicji raportu, aby można było odwołać się do niego w kodzie.Można jednak przejść przez wszystkie wartości parametru wielowartościowego.Aby uzyskać więcej informacji zobaczUżywanie odwołań do kodu niestandardowego w wyrażeniach (program Report Builder 2,0).

Następująca tabela zawiera przykłady odwoływania się do wbudowanych kolekcja Parameters z niestandardowym kodem:

Description

Odwołanie w wyrażeniu

Definicja kodu niestandardowego

Przekazanie całej globalnej kolekcji parametrów do kodu niestandardowego.

Ta funkcja zwraca wartość parametru określonego raportu MyParameter.

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

Przekazanie pojedynczego parametru do kodu niestandardowego.

W tym przykładzie zwraca wartość parametru przekazany.Jeśli parametr ma parametr wielowartościowym, zwracanego ciąg jest łączenie wszystkich wartości.

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

Zestawy niestandardowe

W programie Report Builder 2.0 zestawy niestandardowe są obsługiwane tylko na serwerze raportów.Aby uzyskać więcej informacji na temat uzyskiwania dostępu do kodu, po zakończeniu instalacji serwer raportów, zobacz sekcję „ Uzyskiwanie dostępu do niestandardowe zestawy za pomocą wyrażenia „ w Dokumentację usług raportowania w dokumentacji programu SQL Server Books Online.