Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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).