1. 描述
用户在参数查询界面的控件中输入参数值,点击查询按钮,就将相应的数据查询出来了,这就是参数的过滤。
2. 模板参数的过滤
模板参数在与控件绑定之后,并没有进行关于查询数据的关联操作,即,如果直接进行分页预览,查询数据时是不会将控件中的参数值进行过滤的。 此时,需要在报表主体的数据列过滤条件中对参数进行过滤处理。
如下图,传入的参数amount金额,需要获取的数据为销售总额大于(参数值-500),则可以如下使用公式进行参数处理:
操作完成之后,再次预览模板,就能对参数进行过滤了。
3. 数据集参数的过滤
不同于模板参数,定义数据集如SELECT * FROM TableName WHERE ColName = ${para},其中${}中的内容为变量,即数据集参数,FineReport会将${}中的内容计算后形成字符串拼接至SQL中形成最终的可执行查询语句,发送到数据库端进行执行。${}可以直接对数据进行过滤。
如需要给传入的参数加上固定的字符串然后再用来过滤,此时sql可以写成SELECT * FROM [用户密码] where 密码='${password+"123"}'
若给参数password传递值“ZY”,此时${password+123}的结果就是ZY123,就可以查询出密码是ZY123的数据了。
故,数据集参数控件绑定数据之后,无需下一步操作,就可以预览模板,查看效果了。