报表中的数据处理:数据运算

发布时间:2014/06/10 00:06 发布者:roger.wang

返回博客中心

本文通过对比的方法,介绍一下页面报表和区域报表在数据运算、表达式拼接上的异同:

相同的:

  • 都以等号 (=) 开头
  • 都支持常规的+、-、*、/等四则数学
  • 都支持字符串和字段数据拼接

不同的:

  • 表达式不同:

  =Fields!LastName.Value   (页面报表)

  =LastName                       (区域报表)

同时,页面报表提供了UI精简模式表达式

    表达式编辑中: =Fields!<FieldName>.Value

    在设计界面中: = [<FieldName>]

    除了字段名称的简写外,您也可以直接在设计界面输入参数简写[@Param],全局变量[&Value]。

   需要注意的是:您不能在表达式编辑器中使用简写

  • 数据运算编辑器 页面报表提供了表达式编辑器,非常方便通过表达式编辑器来进行数据运行

表达式编辑器对话框

区域报表无表达式编辑器,只能通过DataField属性设置

添加字段表达式

 

  • 连接字段和字符串 例如,使用下面的表达式可以得到这样的结果Customer Name:Bossert,Lewis

="Customer Name: " + Fields!LastName.Value + "," + Fields!FirstName.Value (页面报表)

="Customer Name: " + LastName+ "," + FirstName                                          (区域报表)

  • 条件格式化

页面报表的表达式中根据字段值来为属性设置不同的值,如颜色、字体、边框等,以此来突出显示报表中的某些数据。 例如,如果您在文本框FontWeight属性中使用以下表达式,以此来对 Denise 进行加粗显示:

=iif(Fields!FirstName.Value = "Denise", "Bold", "Normal")

Page_Compute

 

区域报表的条件表达式仅能使用在DataField字段内 (修改颜色、字体只能通过后台脚本实现)

=(UnitsInStock == System.DBNull.Value) ? "No Units In Stock" : UnitsInStock

Section_Compute

 

源码下载:


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网