初学FineReport(二)

参考自官方帮助文档 http://help.finereport.com/

一、参数的种类和区别

FineReport报表中的参数按照其使用范围可以分为:模板参数和全局参数;按照其使用方式不同可以分为:模板参数和数据集参数。

模板参数和全局参数:

模板参数和全局参数都需要过滤数据,它们的使用方法差不多,只是作用域不同,模板参数是当前模板可用,全局参数是当前工程下所有模板都可以用。

模板参数和数据集参数:

数据集参数就是指在为模板添加数据集的时候添加的参数,一般是指在SQL查询语句中使用动态的参数对数据进行过滤。数据集参数根据使用范围不同分为模板数据集参数和服务器数据集参数。

模板数据集参数和服务器数据集参数:

作用域不同:模板数据集参数只能在当前报表使用,服务器数据集参数可以在工程下的所有报表使用。

结论:

数据集参数就是直接取出满足条件的数据,而报表参数是取出全部数据后通过设置过滤条件再获取对应参数的数据,因此若数据量大的情况下使用数据集参数可以提高报表的访问效率。

二、模糊查询

操作要点:定义数据集参数,sql语句加入模糊查询即可,例如,SELECT*FROM 销量 where 销售员 like '${销售员姓氏}%'

三、动态数据表

操作要点:

在定义数据集时,通过if函数来判断参数的值从而来实现调用不同的数据表,如直接将SQL语句定义成:SELECT * FROM ${if(aa=1,'订单','订单1')},即若参数aa=1时,查询的是订单表,若aa!=1时,查询的是订单1表。

四、动态条件

操作要点:在定义数据集时,将条件定义为参数,如SQL语句定义成:SELECT * FROM TableName ${Condition},然后在参数编辑界面进行设置即可,配置完控件后,就可以在控件内进行条件查询,比如在控件里输入where xx='xx'

五、参数引用

描述:参数的主要作用是实现用户与数据的实时交互,即进行数据的过滤;除了过滤数据外,我们还能在很多情况下使用参数,比如在单元格中引用参数来实现动态标题、根据参数值的不同显示不同等等。总之,只要可以使用公式的地方,都可以通过“$参数名”来引用参数来实现各种逻辑结果。

 
 
 
posted @ 2018-04-20 10:37  Quest1on  阅读(404)  评论(0编辑  收藏  举报