FineReport表格软件教程:[5]参数种类与区别

时间:2024-10-28 19:26:05

FineReport报表中的参数按照其使用范围可以分为:模板参数和全局参数;按照其使用方式不同可以分为:模板参数和数据集参数。下面通过FineReport表格软件介绍。

工具/原料

表格软件FineReport7.1.1

大小:148.2M 适用平台:windows/linux

模板参数

1、打开报表打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\GroupReport\Group.cpt。

2、定义模板参数点击菜单模板>模板参数,添加一个地区参数,默认值设置为“华北”,如下图所示:

FineReport表格软件教程:[5]参数种类与区别

3、参数过滤设置此时预览模板,可以看到数据列仍然会扩展出数据集中的所有数据,因此需要使用模板参数来过滤。双击地区数据列单元格,选择过滤标签,条件为地区等于参数$地区,如下图:注:数据类型选择参数,就会在下拉框中罗列出所有可用参数名称,直接选择即可。

FineReport表格软件教程:[5]参数种类与区别

4、制作参数界面点击参数模块处的笔,使参数界面处于可编辑状态,参数界面的右下方会显示没有添加控件的参数名称,如下图:注:参数与控件是通过参数名称进行绑定的,也就是说着抹较氰控件名称与参数名称一致,那么参数就与控件进行绑定了,绑定就意味着在web端给控件赋值就相当于给参数赋值,点击未生成的参数,可自动将控件与参数进行绑定。

FineReport表格软件教程:[5]参数种类与区别

5、点击添加全部,会为所有的参数绑定控件,并控件显示在参数面板中,控件包括各个参数对应的赋值控件、还有各个标签控件以及查询按钮,默认的参数界面如下:

FineReport表格软件教程:[5]参数种类与区别

6、点击控件上的设置按钮,选择参数控件的类型。注:如果不是点击添加全部添加的按钮,也可以直接从控件栏中将控件拖曳到参数面板中,修改控件的名称与参数名称一致,即可将控件与参数进行绑定,控件赋值就是参数赋值。

7、保存报表并发布保存报表并分页预览,修改参数值为“华东”,便查询出了华东的数据:

FineReport表格软件教程:[5]参数种类与区别

数据集参数

1、数倌栗受绽据集参数原理类似通信、监控行业,每天都有海量数据生成,数据库表中总数据量非常大,而报表中往往只要当天的几百条数据就可以了。如磨营稼刻果使用报表参数,就需要先取出所有数据,再进行过滤,取数+过滤,将消耗大量时间;简单应用可以在定义数据集sql的时候,直接使用where条件过滤出需要的数据,从而大大缩短报表取数时间,类似下面的sql:SELECT * FROM 销量 where 地区 = '${地区}'带公式的应用数据集sql中可以使用参数宏${}动态地生成过滤条件,${}中的语句在FineReport报表中执行,将${}的执行结果与sql语句拼接起来形成最终的查询语句,传递给数据库执行,可以使用多个${},如下语句:SELECT * FROM 订单 where 1=1 ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} ${if(len(province) == 0,"","and 货主省份 = '" + province + "'")}${}中可以使用所有内置的FR公式,如if函数;${}中除了FR内置的函数名、常量外,其他变量就是数据集参数。如上SQL语句,if公式是FR内置的公式,变量area就是数据集参数,如果len(area)!=0,即area参数不为空,比如说area的值为华东,那么if语句的执行结果为and 货主地区='华东',然后再把这句话拼接到SQL语句当中,SQL语句就变成:SELECT * FROM 订单 where 1=1 and 货主地区='华东'

2、打开报表打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\GroupReport\Group.cpt。

3、定义数据源参数修改数据集SQL语句为SELECT * 掂迎豢畦FROM 销量 where 地区 = '${地区}',点击下方的刷新按钮伍啪怪顼显示出参数,默认值设置为“华北”:注:在数据集SQL语句中,使用${para}做为一个参数宏,其中变量para为参数名,若字段值为字符串则加上引号如'${para}'

FineReport表格软件教程:[5]参数种类与区别

4、过滤数据若参数地区的值为华北,那么${地区}这个参数宏最终的值就是华北,数据集S兑恶铼融QL即为SELECT * FROM [销量] where 地区 = '华北&垆杪屑丝#39;;可以看出,数据集取数时就会根据数据源参数过滤出需要的数据,因此不需要额外设置数据列过滤了。

全局参数

1、定义全局参数直接点击菜单服务器>全局参数,添加一个area参数,默认值设置为“华北”,如下图所示:注:全局参数保存在工程下面的config.xml中。

FineReport表格软件教程:[5]参数种类与区别

2、打开报表打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\GroupReport\Group.cpt。

3、参数过滤设置双击地区数据列单元格,选择过滤标签,在值区域中选择参数选项,可在下拉框中看到一个名为area的参数,选中它,点击添加按钮,如下图:注:全局参数area并不是在当前模板下创建的,但是可以在模板中直接调用。

FineReport表格软件教程:[5]参数种类与区别

4、制作参数界面点击参数模块处的笔,使参数界面处于可编辑状态,参数界面的右下方会显示没有添加控件的参数名称,全局参数也会显示,如下图:

FineReport表格软件教程:[5]参数种类与区别

5、点击添加全部,设置参数界面,如下:

FineReport表格软件教程:[5]参数种类与区别

6、保存报表并发布保存报表并分页预览,默认参数值为“华北”,直接点击查询,即可询出华北的数据:

FineReport表格软件教程:[5]参数种类与区别
© 手抄报圈