初始化自訂組件物件
在某些情況下,您可能需要在初始化自訂組件類別時,初始化其中的屬性與欄位值。您很可能需要使用報表全域物件集合中可用的值,來初始化自訂類別。您可以透過覆寫報表之 Code 物件的 OnInit 方法來完成。若要存取 OnInit,請使用報表定義的 Code 元素。有兩個技術可初始化您計劃在報表中使用的自訂組件中類別之屬性或欄位值。您可以使用 OnInit 來宣告和建立類別的新執行個體,或者您可以使用 OnInit 來呼叫公開可用的方法。
全域物件集合與初始化
有幾個集合可供您初始化自訂類別變數。您可以使用 Globals 和 User 集合。在報表週期叫用 OnInit 方法時,可供您使用的 Parameters、Fields 和 ReportItems 集合。若要使用共用的集合、Globals 或是 User,您需要包括 Report 物件參考。例如,若要根據使用者目前的語言來初始化自訂類別以存取報表,Code 元素可能看起來如下所示:
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
如前所示,有一種方法可以初始化類別的屬性和欄位值,就是呼叫覆寫的建構函式,以宣告類別並建立該類別的新執行個體。
在自訂組件中初始化類別之屬性與欄位值的另一種方法,是呼叫從 OnInit 方法定義之公開可用的方法。您必須先為報表定義檔案中的類別加入執行個體名稱。一旦您加入適當的組件參考與執行個體名稱,就可以呼叫初始化方法以初始化類別的屬性與欄位值。您的 OnInit 方法可能如下所示:
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
如需有關為自訂類別加入組件參考與執行個體名稱,請參閱<如何:將組件參考加入至報表 (Reporting Services)>。
如需有關全域物件集合的詳細資訊,請參閱<使用運算式中的內建集合 (Reporting Services)>。