報表中運算式的全域集合 (Visual Studio 報表設計工具)

為了在 ReportViewer 控制項中進行處理的報表定義而撰寫的運算式,可以參考全域物件集合。您可以使用的全域物件集合有五種:FieldsGlobalsParametersReportItemsUser。若要存取這些集合,您可以使用標準 Visual Basic 語法。這個語法的範例如下:

  • Collection!ObjectName

    =User!Language

  • Collection.Item("ObjectName")

    =User.Item("Language")

  • Collection("ObjectName")

    =User("Language")

您也可以利用屬性語法來存取 GlobalsUser 集合中的項目。範例如下:

  • Collection.ObjectName

    =Globals.PageNumber

GlobalsUsers 集合的成員會傳回變數。如果您要在需要特定資料類型的運算式中使用全域變數,您必須先轉換變數。例如,CDate(Globals!ExecutionTime)

欄位

Fields 集合包含目前資料來源內的欄位。欄位通常用來顯示報表內文字方塊的資料,但其他報表項目、屬性和函式也可以使用它們。Fields 集合內的項目有兩個屬性,ValueIsMissingValue 屬性會傳回針對資料來源中的欄位而擷取的值。IsMissing 屬性指出欄位是否在資料來源中。對於傳回欄位變數集的查詢而言,這非常有用。遺漏欄位的 Value 屬性是 Null

最常用來存取欄位物件的語法是屬性語法,例如 Fields!Product.Value。您也可以使用上述集合語法。有些資料來源會提供欄位的其他屬性。您可以利用集合語法來存取這些屬性。如果資料來源不支援屬性,或執行查詢時找不到欄位,StringObject 類型之屬性的屬性值便是 NullInteger 類型的屬性則是零。

報表包含報表中的每個資料來源各一個虛擬 Fields 集合。欄位在集合內必須是唯一的,但不同集合可以有相同欄位名稱。當參考資料區域內的欄位時,資料區域的資料表或商務物件決定了要使用的集合。當參考彙總運算式內的欄位時,範圍的資料來源決定了要使用的集合。

全域

Globals 集合包含報表的全域變數。下表描述 Globals 集合的成員。

成員 類型 描述

ExecutionTime

DateTime

報表開始執行的日期和時間。

PageNumber

Integer

目前頁碼。只能用在頁首和頁尾中。

ReportFolder

String

報表所在之資料夾的完整路徑。其中不包括報表伺服器 URL。這個成員只適用於伺服器報表。

ReportName

String

當報表儲存在報表伺服器資料庫時的名稱。這個成員只適用於伺服器報表。

ReportServerUrl

String

執行報表之報表伺服器的 URL。這個成員只適用於伺服器報表。

TotalPages

Integer

報表中的總頁數。只能用在頁首和頁尾中。

全域變數的範例如下:

  • 這個運算式在報表頁尾的文字方塊中,用來提供頁碼和報表總頁數。

    =Globals.PageNumber & " of " & Globals.TotalPages
    
  • 這個運算式提供報表的名稱及其執行時間。時間格式採用 .NET Framework 的簡短日期格式字串。

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
    

參數

Parameters 集合包含報表內的報表參數。篩選可以使用參數,根據參數來變更報表外觀的其他函式也可以使用參數。Parameters 集合內的項目有兩個屬性,ValueLabelValue 屬性會傳回參數值,如 EmployeeID。Label 屬性會傳回使用者易記的參數標籤,如 EmployeeName。如果未指定任何標籤,Label 屬性值與 Value 屬性值相同。如果相同的值有多個相關聯的標籤,就會使用第一個相符的標籤。參數可以利用屬性語法或集合語法來存取。

ReportItems

ReportItems 集合包含報表內的文字方塊。ReportItems 集合內的項目只有一個屬性:ValueReportItems 項目的值可用來顯示或計算報表中其他欄位的資料。若要存取目前文字方塊的值,請使用 Me.ValueValue。在彙總函式內部,無法使用 Me.ValueValue。請利用完整語法,從其中一個函式內存取某文字方塊的值。

報表項目運算式的範例如下:

  • 這個運算式在文字方塊中,用來顯示名稱為 Textbox1 之文字方塊的值。

    =ReportItems!Textbox1.Value
    

使用者

User 集合包含執行報表之使用者的資料。下表描述 User 集合的成員。

成員 類型 描述

Language

String

執行報表之使用者的語言識別碼。

UserID

String

執行報表之使用者的識別碼。

另請參閱

概念

ReportViewer 控制項 (Visual Studio)
在報表中使用運算式 (Visual Studio 報表設計工具)
在報表中定義報表參數 (Visual Studio 報表設計工具)
在報表中加入頁首和頁尾 (Visual Studio 報表設計工具)
設定 ReportViewer 的遠端處理