Inicjowanie własny wirtualny plik dziennika obiektów
W niektórych przypadkach należy zainicjować wartości właściwość i pole z klas niestandardowego wirtualny plik dziennika podczas tworzenia ich wystąpienia.Prawdopodobnie należy zainicjować swoje niestandardowe klasy z wartościami dostępne w kolekcji obiektu globalnego w raporcie.Aby to zrobić, zastępując OnInit Metoda Kod obiektu raportu.Aby uzyskać dostęp OnInit, use the Kod element definicja raportu.Istnieją dwie techniki właściwość inicjujących lub wartości pole klas w zestawie niestandardowy, który ma być używany w raporcie: Użytkownik może zadeklarować i utworzyć nowe wystąpienie klasy za pomocą OnInit, lub może wywołać metoda publicznie dostępne przy użyciu OnInit.
Kolekcje obiektu globalnego i inicjowania
Kilka kolekcje są dostępne dla inicjowania zmiennych niestandardowej klasy użytkownika.Można użyć Globals and Użytkownik kolekcji.The Parameters, Fields and ReportItems collections are not available to you at the point in the report lifecycle when the OnInit metoda is invoked.Aby użyć Kolekcje udostępnione Globals or Użytkownik, konieczne jest uwzględnienie Raport odwołanie do obiektu.Na przykład zainicjować niestandardowej klasy na podstawie języka bieżącego użytkownika, uzyskiwanie dostępu do raportu, sieci Kod element może wyglądać w sposób następujący:
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Jednym ze sposobów inicjowania wartości właściwość i pole klasy, jak pokazano wcześniej jest zadeklarować klasy i utworzyć nową instancję jego wywołując zastąpiona konstruktora.
Innym sposobem zainicjować wartości właściwość i pole klas w swoje niestandardowe zestawy jest wywołanie metoda dostępnych publicznie, zdefiniowanych przez użytkownika z OnInit metoda.Najpierw należy dodać nazwę wystąpienie klasy w pliku definicja raportu.Po dodaniu nazwy odwołania i wystąpienie odpowiedniego wirtualny plik dziennika można wywołać metoda inicjalizacji zainicjować wartości właściwość i pole dla swojej klasy.Sieci OnInit metoda może wyglądać w sposób następujący:
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Aby uzyskać więcej informacji na temat dodawania odwołania i wystąpienie nazwy wirtualny plik dziennika niestandardowej klasy Zobacz How to: Add an Assembly Reference to a Report (Reporting Services).
Aby uzyskać więcej informacji na temat kolekcji obiektu globalnego zobacz Using Built-in Collections in Expressions (Reporting Services).