Inizializzazione di oggetti assembly personalizzati

In alcuni casi, potresti dover inizializzare i valori di proprietà e campi nelle tue classi assembly personalizzate quando li instanzi. Molto probabilmente dovrai inizializzare le tue classi personalizzate con i valori disponibili dalle collezioni globali di oggetti del rapporto. Lo si fa sovrascrivendo il metodo OnInit dell'oggetto Codice di un report. Per accedere a OnInit, usa l'elemento Codice della definizione del report. Esistono due tecniche per inizializzare i valori delle proprietà o dei campi delle classi in un assembly personalizzato che intendi utilizzare nel tuo report: puoi dichiarare e creare una nuova istanza della tua classe usando OnInit, oppure puoi chiamare un metodo pubblicamente disponibile tramite OnInit.

Collezioni globali di oggetti e inizializzazione

Sono disponibili diverse collezioni per iniziare le variabili delle tue classi personalizzate. Puoi usare le collezioni Globals e User . Le collezioni Parameters, Fields e ReportItems non sono disponibili nel momento del ciclo di vita del report in cui viene invocato il metodo OnInit . Per utilizzare le collezioni condivise, Globals o User, devi includere il riferimento agli oggetti Report . Ad esempio, per inizializzare la tua classe personalizzata basandosi sul linguaggio corrente dell'utente che accede al report, il tuo elemento Code potrebbe apparire come segue:

Dim m_myClass As MyClass  

Protected Overrides Sub OnInit()  
   m_myClass = new MyClass(Report.User!Language, _  
      Report.Globals!ExecutionTime)  
End Sub  

Un modo per inizializzare i valori delle proprietà e dei campi di una classe come mostrato in precedenza è dichiarare la tua classe e creare una nuova istanza chiamando un costruttore sovrascritto.

Un altro modo per inizializzare i valori delle proprietà e dei campi delle classi nei tuoi assembly personalizzati è chiamare un metodo pubblicamente disponibile che definisci dal metodo OnInit . Devi prima aggiungere un nome di istanza per la tua classe nel file di definizione del report. Una volta aggiunto il riferimento assembly appropriato e il nome dell'istanza, puoi chiamare il tuo metodo di inizializzazione per inizializzare i valori delle proprietà e dei campi per la tua classe. Il tuo metodo OnInit potrebbe essere il seguente:

Protected Overrides Sub OnInit()  
   m_myClass.MyInitializationMethod(Report.User!Language, _  
      Report.Globals!ExecutionTime)  
End Sub  

Per maggiori informazioni sull'aggiunta di un riferimento assembly e di un nome di istanza per la tua classe personalizzata, consulta Add an Assembly Reference to a Report (SSRS).

Per maggiori informazioni sulle collezioni globali di oggetti, consulta Collezioni integrate nelle espressioni (Report Builder e SSRS).