Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V některých případech možná budete muset inicializovat hodnoty vlastností a polí ve svých vlastních assemblerových třídách při jejich instancování. Pravděpodobně budete muset inicializovat své vlastní třídy s hodnotami dostupnými z globálních objektových kolekcí reportu. To uděláte přepsáním metody OnInitpro kód objektu reportu. Pro přístup k OnInit použijte prvek Code v definici reportu. Existují dvě techniky pro inicializaci hodnot vlastností nebo polí tříd v rámci zakázkové sestavy, kterou plánujete použít ve svém reportu: Můžete buď deklarovat a vytvořit novou instanci své třídy pomocí OnInit, nebo můžete volat veřejně dostupnou metodu pomocí OnInit.
Globální objektové kolekce a inicializace
K dispozici je několik kolekcí pro inicializaci vašich vlastních třídních proměnných. Můžete použít kolekce Globals a User . Kolekce Parametry, Pole a Položky zpráv nejsou k dispozici v okamžiku životního cyklu reportu, kdy je vyvolána metoda OnInit . Pro použití sdílených kolekcí, globálních nebo uživatelských domén, musíte zahrnout referenci na objekt Report . Například pro inicializaci vlastní třídy na základě aktuálního jazyka uživatele, který přistupuje k reportu , může váš kódový prvek vypadat takto:
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Jedním ze způsobů, jak inicializovat vlastnosti a hodnoty polí třídy, jak bylo uvedeno dříve, je deklarovat svou třídu a vytvořit její novou instanci voláním přepsaného konstruktoru.
Další způsob, jak inicializovat hodnoty vlastností a polí tříd ve vašich vlastních assemblech, je zavolat veřejně dostupnou metodu, kterou definujete z metody OnInit . Nejprve musíte přidat název instance pro vaši třídu v souboru s definicí reportu. Jakmile přidáte příslušnou referenci assembleru a název instance, můžete zavolat svou inicializační metodu pro inicializaci vlastností a polí pro vaši třídu. Vaše metoda OnInit může vypadat takto:
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
Pro více informací o přidání reference assembleru a názvu instance pro vaši vlastní třídu viz Přidat assemblerovou referenci do reportu (SSRS).
Pro více informací o globálních objektových kolekcích viz Built-in Collections in Expressions (Report Builder a SSRS).