为在 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 属性指示数据源中是否存在该字段。对于返回字段的变量集的查询,可以使用“IsMissing”属性。对于缺少的字段,其 Value 属性的值为 Null

访问字段对象的最常用语法是属性语法,例如 Fields!Product.Value。您还可以使用上述的集合语法来访问字段对象。有些数据源为字段提供了附加属性。您可以通过使用集合语法来访问这些属性。如果数据源不支持某属性,或在执行查询时找不到该字段,则属性的类型为 StringObject 时,其属性值为 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 集合中的项有两种属性:ValueLabelValue 属性返回参数(如 EmployeeID)的值。Label 属性返回参数(如 EmployeeName)的便于用户识别的标签。如果未指定标签,则 Label 属性值和 Value 属性的值相同。如果有多个标签与同一个值关联,则使用第一个匹配的标签。参数既可以通过属性语法访问,也可以通过集合语法访问。

ReportItems

ReportItems 集合包含报表内的文本框。ReportItems 集合内的项仅包含一个属性:ValueReportItems 项的值可以用来显示或计算报表中其他字段的数据。若要访问当前文本框的值,请使用 Me.Value 或仅使用 ValueMe.ValueValue 不能在聚合函数内部使用。在聚合函数中请使用完整语法来访问文本框的值。

报表项表达式的示例如下:

  • 该表达式位于文本框中,显示了文本框 Textbox1 的值。

    复制
    =ReportItems!Textbox1.Value
    

User

User 集合包含正在运行报表的用户的数据。下表对 User 集合的成员进行了说明。

成员 类型 说明

Language

字符串

运行报表的用户的语言 ID。

UserID

字符串

运行报表的用户的 ID。

内容摘自:http://msdn.microsoft.com/zh-cn/library/ms251716.aspx

转载于:https://www.cnblogs.com/zdjcnblogs/p/3246170.html

报表中表达式的全局集合(Visual Studio 报表设计器)相关推荐

  1. web developer tips (74):在 Visual Studio 2008设计器里添加或移除AJAX Extenders

    原文地址:How to Add and Remove AJAX Extenders in Visual Studio 2008 Designer 在web developer tips (62)中讲述 ...

  2. 删除右键菜单中的选项:在Visual Studio中打开

    删除右键菜单中的选项:在Visual Studio中打开 1. 通过新增注册表中项目来解决 按下Win + R键 > 输入regedit > OK > 系统会跳出一个弹框,选择&qu ...

  3. Uipath Studio流程设计器介绍

    一.Uipath Studio 应用打开 RPA 产品三大套件之一是Uipath Studio ,Studio是UiPath RPA平台的编辑工具,利用它的图形化界面,可以方便地设计出各种自动化的流程 ...

  4. 【错误记录】Ubuntu 中 ROOT 用户无法启动 Visual Studio Code 开发环境 ( 推荐在普通用户下使用 VSCode 开发环境 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [开发环境]Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ub ...

  5. 在 Visual Studio 2019 中为 .NET Core WinForm App 启用窗体设计器

    当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的.即使在窗体文件上右击选择"显 ...

  6. 开源UReport 整合到产品中实践简要:(七)ureport设计器设计报表前基本功知识-表达式与函数

    一.ureport中表达式(其实也包含了函数,函数也是在表达式进行定义) (1)基本表达式类型:数字(含小数位支持),字符串,布尔值 (2)支持加减乘除,求余数(%). (三)三元表达式: 可以看到, ...

  7. 在matlab中如何打开示例程序,visual studio 调用 matlab实例

    续接上篇,本文将对如何通过visual studio调用matlab画图做出指导, 并给出实例. 代码部分: 首先在头文件补充engine #include"engine.h" 然 ...

  8. c# uwp html源码,调试 UWP 应用中的 HTML 和 CSS - Visual Studio | Microsoft Docs

    在 Visual Studio 中调试 UWP 应用中的 HTML 和 CSS 07/17/2018 本文内容 Visual Studio 针对 JavaScript 应用提供全面的调试体验,其中包括 ...

  9. 开源UReport 整合到产品中实践简要:(二)UReport 设计器制作的报表效果参考(转载)

    ​ UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表. ​ 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chro ...

最新文章

  1. ​ RROR 1221 (HY000): Incorrect usage of spatial/fulltext/hash index and explicit index orde ​
  2. 将你的Vim 打造成轻巧强大的IDE
  3. 数据结构——排序算法
  4. sleek大气后台UI管理系统模板
  5. [jQuery原理] jQuery属性操作相关方法
  6. Spark:通过start-slaves.sh脚本启动worker报错:Permission denied
  7. 最简易的流水记账软件分享
  8. python获取四六级成绩单
  9. sort()与拉姆达表达式
  10. 子线程中使用Handler
  11. cad零点坐标标注lisp_CAD_XY坐标标注AUTO_LISP程序
  12. 3D电影、游戏里的角色是怎么制作的?
  13. 电脑一些基础知识(一)
  14. 用户下单时商品库存变化
  15. 满口春日清爽 书亦烧仙草刺梨新品上市
  16. htc 8x android,htc 8x的usb驱动下载
  17. 使用电脑获取手机相册教程
  18. 上传图片限制类型和宽高
  19. Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数
  20. DNS服务器怎么保护呢

热门文章

  1. java 时间换算_【时间工具】整理下java时间换算专题
  2. java list 遍历查找_Java用list储存,遍历,查询指定信息过程详解
  3. 移动端 html5领奖页面,HTML5移动端交互
  4. 泛型 java 总结_JAVA泛型总结
  5. shell的单引号与双引号
  6. 洛谷回文数c语言,【普及-】洛谷P1015:回文数 一种解法
  7. 面试官问你是true还是false你可以最后反问他这个
  8. Linux下docker的安装及常用命令
  9. LUNA16_Challange数据预处理1
  10. to_csvread_csvisnullisnanisna