在FastReport报表中,表达式(Expressions)用在很多地方,譬如文本框,排序过滤器等。
表达式基于报表选择的脚本语言,从菜单[报表]->[选项]打开“报表选项对话框”,切换到“脚本”标签页,选择对应的脚本语言(本系列经验均以C#语言)。注意:变更语言会删除所有脚本("代码"标签页中的脚本)。
表达式例子:
数学表达式:2*2=[2*2]
报表路径:[Report.FileName]
表达式编辑器
1.通过表达式编辑器,能够快速的书写表达式。
几种引用内容
1.引用报表对象
如上面举例的[Report.FileName]
2.引用.NET方法
在代码标签页添加如下代码,在表达式编辑器中可直接使用如下:
引用.NET方法:[Demo.MyFunctions.Func1()]
注意:需要为静态方法。
3.引用数据源
例子:[[学生表.姓名] + "(" + [学生表.性别] + ")"]
输出:小明(男)
注意:在表达式中使用的数据列依赖其数据类型,比如不能将字符串类型的列和数字类型的列直接运算,需要转换成相同的类型。
进阶:使用.NET方法根据生日计算学生的年龄。
在代码中添加年龄计算方法CaculateAge(),在报表中引用如下:
[Demo.MyFunctions.CaculateAge([学生表.生日])]
4.引用系统变量
如根据系统变量Date获取当前年份:[[Date].Year]
5.引用汇总值
汇总值是Variant类型,能根据具体情况自动转换类型。
比如计算男生占总人数的比例:[[男生数]/[总数]]
6.引用参数
访问子参数需带上父参数名称。
注意:参数能通过属性设置其类型,描述以及表达式。