RDLC报表-ReportViewer 报表中表达式全局集合
为在 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
属性指示数据源中是否存在该字段。对于返回字段的变量集的查询,可以使用“IsMissing”属性。对于缺少的字段,其 Value 属性的值为 Null。
访问字段对象的最常用语法是属性语法(如
Fields!Product.Value)。您还可以使用上述的集合语法来访问字段对象。有些数据源为字段提供了附加属性。您可以通过使用集合语法来访问这些属性。如果数据源不支持某属性,或在执行查询时找不到该字段,则属性的类型为
String 和 Object 时,其属性值为 Null;在属性的类型为 Integer 时,其属性值为 0。
报表为它所包含的每一数据源包含一个虚拟的 Fields
集合。字段在一个集合内必须唯一,不过同一字段名称可以在多个集合中存在。如果引用数据区域中的字段,则该数据区域的数据表或业务对象会确定所使用的集合。如果引用聚合表达式中的字段,则范围的数据源会确定所使用的集合。
Globals
Globals 集合包含报表的全局变量。下表对 Globals 集合的成员进行了说明。
成员
类型
说明
ExecutionTime
日期时间
报表开始运行的日期和时间。
PageNumber
整型
当前页码。该变量只能用在页眉和页脚中。
ReportFolder
字符串
包含报表的文件夹的完整路径。它不包括报表服务器 URL。此成员仅适用于服务器报表。
ReportName
字符串
存储在报表服务器数据库中的报表的名称。此成员仅适用于服务器报表。
ReportServerUrl
字符串
正在运行该报表的报表服务器的 URL。此成员仅适用于服务器报表。
TotalPages
整型
报表中的总页数。该变量只能用在页眉和页脚中。
全局变量的示例如下:
-
该表达式位于报表页脚的文本框中,提供了报表的页码和总页数。
=Globals.PageNumber & " of " & Globals.TotalPages
-
以下表达式提供了报表的名称以及它运行的时间。时间格式使用短日期的 .NET Framework 格式字符串进行设置。
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Parameters
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 集合包含正在运行报表的用户的数据。下表对 User 集合的成员进行了说明。
成员
类型
说明
语言
字符串
运行报表的用户的语言 ID。
UserID
字符串
运行报表的用户的 ID。
另请参见
Fields 集合包含当前数据源中的各字段。这些字段通常用于显示报表的文本框中的数据,但也可以用在其他报表项、属性和函数中。Fields
集合中的项有两种属性:Value 和 IsMissing。Value 属性返回数据源中为该字段检索到的值。IsMissing
属性指示数据源中是否存在该字段。对于返回字段的变量集的查询,可以使用“IsMissing”属性。对于缺少的字段,其 Value 属性的值为 Null。
访问字段对象的最常用语法是属性语法(如
Fields!Product.Value)。您还可以使用上述的集合语法来访问字段对象。有些数据源为字段提供了附加属性。您可以通过使用集合语法来访问这些属性。如果数据源不支持某属性,或在执行查询时找不到该字段,则属性的类型为
String 和 Object 时,其属性值为 Null;在属性的类型为 Integer 时,其属性值为 0。
报表为它所包含的每一数据源包含一个虚拟的 Fields
集合。字段在一个集合内必须唯一,不过同一字段名称可以在多个集合中存在。如果引用数据区域中的字段,则该数据区域的数据表或业务对象会确定所使用的集合。如果引用聚合表达式中的字段,则范围的数据源会确定所使用的集合。
Globals 集合包含报表的全局变量。下表对 Globals 集合的成员进行了说明。
成员 | 类型 | 说明 |
---|---|---|
ExecutionTime |
日期时间 |
报表开始运行的日期和时间。 |
PageNumber |
整型 |
当前页码。该变量只能用在页眉和页脚中。 |
ReportFolder |
字符串 |
包含报表的文件夹的完整路径。它不包括报表服务器 URL。此成员仅适用于服务器报表。 |
ReportName |
字符串 |
存储在报表服务器数据库中的报表的名称。此成员仅适用于服务器报表。 |
ReportServerUrl |
字符串 |
正在运行该报表的报表服务器的 URL。此成员仅适用于服务器报表。 |
TotalPages |
整型 |
报表中的总页数。该变量只能用在页眉和页脚中。 |
全局变量的示例如下:
-
该表达式位于报表页脚的文本框中,提供了报表的页码和总页数。
=Globals.PageNumber & " of " & Globals.TotalPages
-
以下表达式提供了报表的名称以及它运行的时间。时间格式使用短日期的 .NET Framework 格式字符串进行设置。
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Parameters
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 集合包含正在运行报表的用户的数据。下表对 User 集合的成员进行了说明。
成员
类型
说明
语言
字符串
运行报表的用户的语言 ID。
UserID
字符串
运行报表的用户的 ID。
另请参见
Parameters 集合包含报表中的报表参数。参数可以用在筛选器中,或用在基于此参数改变报表外观的其他函数中。Parameters
集合中的项有两种属性:Value 和 Label。Value 属性返回参数(如 EmployeeID)的值。Label 属性返回参数(如
EmployeeName)的便于用户识别的标签。如果未指定标签,则 Label 属性值和 Value
属性的值相同。如果有多个标签与同一个值关联,则使用第一个匹配的标签。参数既可以通过属性语法访问,也可以通过集合语法访问。
ReportItems 集合包含报表内的文本框。ReportItems 集合内的项仅包含一个属性:Value。ReportItems
项的值可以用来显示或计算报表中其他字段的数据。若要访问当前文本框的值,请使用 Me.Value 或仅使用 Value。Me.Value 和 Value
不能在聚合函数内部使用。在聚合函数中请使用完整语法来访问文本框的值。
报表项表达式的示例如下:
-
该表达式位于文本框中,显示了文本框 Textbox1 的值。
=ReportItems!Textbox1.Value
User
User 集合包含正在运行报表的用户的数据。下表对 User 集合的成员进行了说明。
成员
类型
说明
语言
字符串
运行报表的用户的语言 ID。
UserID
字符串
运行报表的用户的 ID。
另请参见
User 集合包含正在运行报表的用户的数据。下表对 User 集合的成员进行了说明。
成员 | 类型 | 说明 |
---|---|---|
语言 |
字符串 |
运行报表的用户的语言 ID。 |
UserID |
字符串 |
运行报表的用户的 ID。 |