透過表達式存取自定義元件

建立自定義元件之後,請將其提供給 報表設計師 或報表伺服器、新增適當的安全策略,並在報表定義中新增自定義元件的參考,您可以使用報表表達式存取元件中的類別成員。 若要在運算式中參考自訂程式碼,您必須在組件中呼叫類別的成員。 該如何完成,取決於此方法為靜態或以執行個體為基礎。

從報表定義檔呼叫靜態成員

靜態成員屬於類別或是類型本身,而且不屬於具現化物件。 存取這些成員的方式是從類別直接呼叫它們。 您應該盡可能使用靜態成員呼叫報表中的自訂涵數,因為靜態成員的表現最好。 若要呼叫靜態成員,您需要以運算式的形式加以參考,其格式為 =Namespace.Class.Method

呼叫靜態成員

  • 若要呼叫靜態成員,請將運算式設定為等於成員的完整名稱,它包含命名空間、類別名稱和成員名稱。 下列範例會呼叫 ToGBP 方法,這個方法會將 StandardCost 欄位值從美元轉換為英鎊,並將其顯示在報表中:

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

靜態欄位和屬性的重要資訊

目前,會在相同的應用程式網域中執行所有的報表。 這表示含有使用者特定的靜態資料會向相同報表的其他執行個體公開此資料。 這個情況可能會使一個使用者的靜態資料,可供目前執行特定報表的所有使用者使用。 基於這個理由,強烈建議您不要在自定義元件或 Code 元素中使用靜態欄位或屬性;請改用報表中的實例字段或屬性。 靜態方法仍可使用,因為它們不會儲存狀態或數據。

從報表定義檔呼叫實例成員

如果您的自訂組件包含需要在報表定義中存取的執行個體成員,則必須將類別的執行個體名稱加入報表。 您可以使用 [報表屬性] 對話方塊的 [程式碼] 索引標籤,來為類別新增執行個體名稱。 如需詳細資訊,請參閱報表設計師中運算式的自訂程式碼及組件參考 (SSRS)

若要呼叫靜態成員,您需要以運算式的形式加以參考,其格式為 =Code*.InstanceName.Method*。

呼叫實例成員

  • 若要呼叫自訂組件的執行個體成員,您必須參考 Code 關鍵字,加上執行個體名稱及方法。 下列範例會呼叫 ToEUR 執行個體方法,這個方法會將 StandardCost 欄位值從美元轉換為歐元,並將其顯示在報表中:

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

將自訂組件與報表搭配使用