報表中運算式的全域集合 (Visual Studio 報表設計工具)
為了在 ReportViewer 控制項中進行處理的報表定義而撰寫的運算式,可以參考全域物件集合。您可以使用的全域物件集合有五種:Fields、Globals、Parameters、ReportItems 和 User。若要存取這些集合,您可以使用標準 Visual Basic 語法。這個語法的範例如下:
Collection!ObjectName
=User!Language
Collection.Item("ObjectName")
=User.Item("Language")
Collection("ObjectName")
=User("Language")
您也可以利用屬性語法來存取 Globals 和 User 集合中的項目。範例如下:
Collection.ObjectName
=Globals.PageNumber
Globals 和 Users 集合的成員會傳回變數。如果您要在需要特定資料類型的運算式中使用全域變數,您必須先轉換變數。例如,CDate(Globals!ExecutionTime)
。
欄位
Fields 集合包含目前資料來源內的欄位。欄位通常用來顯示報表內文字方塊的資料,但其他報表項目、屬性和函式也可以使用它們。Fields 集合內的項目有兩個屬性,Value 和 IsMissing。Value 屬性會傳回針對資料來源中的欄位而擷取的值。IsMissing 屬性指出欄位是否在資料來源中。對於傳回欄位變數集的查詢而言,這非常有用。遺漏欄位的 Value 屬性是 Null。
最常用來存取欄位物件的語法是屬性語法,例如 Fields!Product.Value。您也可以使用上述集合語法。有些資料來源會提供欄位的其他屬性。您可以利用集合語法來存取這些屬性。如果資料來源不支援屬性,或執行查詢時找不到欄位,String 和 Object 類型之屬性的屬性值便是 Null,Integer 類型的屬性則是零。
報表包含報表中的每個資料來源各一個虛擬 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 集合內的項目有兩個屬性,Value 和 Label。Value 屬性會傳回參數值,如 EmployeeID。Label 屬性會傳回使用者易記的參數標籤,如 EmployeeName。如果未指定任何標籤,Label 屬性值與 Value 屬性值相同。如果相同的值有多個相關聯的標籤,就會使用第一個相符的標籤。參數可以利用屬性語法或集合語法來存取。
ReportItems
ReportItems 集合包含報表內的文字方塊。ReportItems 集合內的項目只有一個屬性:Value。ReportItems 項目的值可用來顯示或計算報表中其他欄位的資料。若要存取目前文字方塊的值,請使用 Me.Value 或 Value。在彙總函式內部,無法使用 Me.Value 和 Value。請利用完整語法,從其中一個函式內存取某文字方塊的值。
報表項目運算式的範例如下:
這個運算式在文字方塊中,用來顯示名稱為 Textbox1 之文字方塊的值。
=ReportItems!Textbox1.Value
使用者
User 集合包含執行報表之使用者的資料。下表描述 User 集合的成員。
成員 | 類型 | 描述 |
---|---|---|
Language |
String |
執行報表之使用者的語言識別碼。 |
UserID |
String |
執行報表之使用者的識別碼。 |
另請參閱
概念
ReportViewer 控制項 (Visual Studio)
在報表中使用運算式 (Visual Studio 報表設計工具)
在報表中定義報表參數 (Visual Studio 報表設計工具)
在報表中加入頁首和頁尾 (Visual Studio 報表設計工具)
設定 ReportViewer 的遠端處理