分类: LINUX
2014-12-11 15:19:05
多值查询即是参数的返回值是多个的,即按照多个值查询出数据。控件的类型有数据集参数和报表参数,下面分别介绍下在FineReport中,这两个参数的多值查询的方法。
报表参数多值查询
报表参数的多值查询关键的就是设置过滤条件,下面我们就以下拉复选框为例来介绍下多值查询的过滤条件的设置。
报表参数多值查询具体示例
1、打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaConnection.cpt
2、修改参数控件类型
点击参数界面,将参数city的控件类型设置为下拉复选框,并设置返回值类型为数组。下拉复选框的返回值类型无论是字符串还是数组其过滤条件都是相同的,因此这边我们可以随便设置成数组还是字符串。
3 过滤条件设置
点击A2单元格,选择单元格上方的过滤按钮,弹出过滤对话框,选中货主城市的过滤条件,将其操作符修改为包含于,然后点击修改,最终的过滤设置界面如下图:
4 保存模板
点击分页预览,将货主城市选择多个值后,点击查询,就会查询出多个城市的数据,效果如下图:
数据集参数的多值查询,关键是定义sql语句,下面我们来介绍下设置方法。
数据集参数多值查询示例
1 打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue.cpt。
2 删除报表参数及过滤条件
将报表参数删除掉,并把A2单元格中的过滤条件删除掉。
3 修改数据集
由于下拉复选框的返回值类型为数组型,要定义复杂的公式,因此我们推荐使用返回值类型为字符串型的,下面我们就介绍返回值为字符串型的数据集的定义及下拉框的设置方法。
要将下拉复选框参数的返回值拼凑成(‘值1′,’值2′,’值3′,…)这样的数据,因此我们将数据集定义为:SELECT * FROM 订单 where 货主地区= ‘${area}’ and 货主省份 = ‘${province}’ and 货主城市 in (‘${city}’)
4 下拉复选框设置
选择参数的返回值类型为字符串,由于要将参数拼凑成(‘值1′,’值2′,’值3′,…)这样的结果,因此要将分隔符定义为’,’,如下图所示:
5 保存模板
点击分页预览,选择多个城市后,效果如下图:
具体的设置可参考模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue1.cpt。
原文转载自:FineReport官网: