Přístup k vlastním assemblerům pomocí výrazů

Poté, co vytvoříte vlastní sestavu, zpřístupníte ji Návrhář sestav nebo serveru reportů, přidáte příslušnou bezpečnostní politiku a přidáte odkaz na vlastní sestavení v definici reportu, můžete přistupovat k členům tříd ve vašem assembleru pomocí reportových výrazů. Chcete-li odkazovat na vlastní kód ve výrazu, musíte volat člen třídy v rámci sestavení. Způsob, jakým to uděláte, závisí na tom, jestli je metoda statická nebo založená na instanci.

Volání statických členů z definice reportu

Statické členy patří přímo ke třídě nebo typu a ne k instancovanému objektu. K těmto členům lze přistupovat přímým voláním z kurzu. Měli byste používat statické členy k volání vlastních funkcí v reportu, kdykoli je to možné, protože statické členy fungují nejlépe. Pro volání statického člena je potřeba na něj odkazovat jako na výraz, který má tvar =Namespace.Class.Method.

Volání statických členů

  • Pro volání statického člena nastavte svůj výraz rovný plně kvalifikovanému jménu člena, což zahrnuje jmenný prostor, název třídy a jméno člena. Následující příklad nazývá metodu ToGBP , která převádí hodnotu pole StandardCost z dolarů na libry šterlinků a zobrazuje ji ve zprávě:

    =CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)  
    

Důležité informace týkající se statických polí a vlastností

V současnosti jsou všechny reporty vykonávány ve stejné aplikační doméně. To znamená, že zprávy s uživatelsky specifickými, statickými daty vystavují tato data dalším instancím stejné zprávy. Tato podmínka by mohla umožnit, aby statická data jednoho uživatele byla dostupná všem uživatelům, kteří aktuálně provozují daný report. Z tohoto důvodu se důrazně doporučuje nepoužívat statická pole nebo vlastnosti v vlastních assemblech ani v kódovém elementu; Místo toho používejte instance pole nebo vlastnosti ve svých reportech. Statické metody lze stále používat, protože neukládají stav ani data.

Volání instancových členů z souboru definice reportu

Pokud vaše vlastní sestava obsahuje členy instance, ke kterým potřebujete přistupovat v definici reportu, musíte do reportu přidat název instance pro vaši třídu. Název instance pro třídu můžete přidat pomocí záložky Kód v dialogu Report Properties . Pro více informací o přidávání instancí tříd do reportu viz Custom Code and Assembly References in Expressions in Návrhář sestav (SSRS).

Pro volání statického člena je potřeba jej odkazovat jako výraz, který má tvar =Code*. InstanceName.Method*.

Členové instance volání

  • Pro zavolání člena instance vlastního assembleru musíte odkazovat na klíčové slovo v kódu , následované názvem instance a metodou. Následující příklad nazývá instancovou metodu ToEUR , která převádí hodnotu pole StandardCost z dolarů na eura a zobrazuje ji v reportu:

    =Code.m_myDollarConversion.ToEUR(Fields!StandardCost.Value)