帆软件-参数为空选择全部
2015-08-15 13:14
260 查看
http://www.finereporthelp.com/
如下自己按此说法编写的 参数变量
select * from customer left join employee on customer.salesman=employee.employee_id where customer.customer_code not in ('wd','jd','tb','tm','NB') and
1=1 ${if(len(业务员) == 0,"","and employee.name= '" + 业务员 + "'")}
order by short_name,employee.name,lately_business_date
业务员为空时处理业务
描述
方法一:通过数据集参数
实现思路
示例
方法二:通过报表参数
实现思路
示例
1. 描述
在使用参数进行过滤时,选择某个参数值后就会根据选择的值进行过滤,但是如何实现如下图效果即不输入参数值时能够查询处数据表中的全部值呢?
由于参数的定义有两种方式,因此下面我们分别介绍下参数为空选出全部值的做法。
2. 方法一:通过数据集参数
2.1 实现思路
在定义数据集时,通过使用if函数判断参数的值是否为空,若为空就不过滤参数,若不为空就进行参数过滤。
2.2 示例
打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicSQL\DynamicSQL.cpt。
修改数据集
将数据集修改为:SELECT * FROM 订单 where 1=1 ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} ${if(len(province) == 0,"","and 货主省份 = '" + province + "'")}。
注:where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;len(area)==0表示参数area为空;货主地区='"+area+"'表示取参数值。
${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} 表示若参数area为空就不进行过滤,若不为空则货主地区等于参数值。
修改参数界面
将参数界面修改为如下样式:
参数控件设置
设置参数area的控件类型为下拉框,数据字典选择数据库表,数据库为FRDemo,数据表为订单,实际值与显示值的列名都选择货主地区。
设置参数province的控件类型也为下拉框,数据字典为数据库表,数据库为FRDemo,数据表为订单,实际值与显示值的列名都选择货主省份。
效果查看
点击分页预览,不输入参数值后,直接点击查询,效果如上图。在线查看模板效果请点击ParaNull.cpt
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull.cpt
3. 方法二:通过报表参数
3.1 实现思路
在给数据列设置过滤条件的时候,同样使用if函数进行判断。
3.2 示例
打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull.cpt。
修改数据集
将数据集修改为查询订单表的数据即:SELECT * FROM 订单。
报表参数设置
点击模板>报表参数,添加两个报表参数,分别为area和province。
过滤条件设置
点击A2单元格,选择格子上方的过滤按钮,给A2单元格增加如下图所示的过滤条件:
注:nofilter表示不过滤,if(len($area)==0,nofilter,$area)表示参数area为空,就不过滤,若不为空则以参数值进行过滤;if(len($province)==0,nofilter,$province)意义相同。
效果查看
点击分页预览,不输入参数值后,直接点击查询效果如上图。在线查看模板效果请点击ParaNull1.cpt
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull1.cpt
参数为空在线视频请查看【参数为空】
如下自己按此说法编写的 参数变量
select * from customer left join employee on customer.salesman=employee.employee_id where customer.customer_code not in ('wd','jd','tb','tm','NB') and
1=1 ${if(len(业务员) == 0,"","and employee.name= '" + 业务员 + "'")}
order by short_name,employee.name,lately_business_date
业务员为空时处理业务
最后更新日期: 2015-8-14 | 有 11人发表评论 (点击查看) |
方法一:通过数据集参数
实现思路
示例
方法二:通过报表参数
实现思路
示例
1. 描述
在使用参数进行过滤时,选择某个参数值后就会根据选择的值进行过滤,但是如何实现如下图效果即不输入参数值时能够查询处数据表中的全部值呢?
由于参数的定义有两种方式,因此下面我们分别介绍下参数为空选出全部值的做法。
2. 方法一:通过数据集参数
2.1 实现思路
在定义数据集时,通过使用if函数判断参数的值是否为空,若为空就不过滤参数,若不为空就进行参数过滤。
2.2 示例
打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicSQL\DynamicSQL.cpt。
修改数据集
将数据集修改为:SELECT * FROM 订单 where 1=1 ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} ${if(len(province) == 0,"","and 货主省份 = '" + province + "'")}。
注:where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;len(area)==0表示参数area为空;货主地区='"+area+"'表示取参数值。
${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} 表示若参数area为空就不进行过滤,若不为空则货主地区等于参数值。
修改参数界面
将参数界面修改为如下样式:
参数控件设置
设置参数area的控件类型为下拉框,数据字典选择数据库表,数据库为FRDemo,数据表为订单,实际值与显示值的列名都选择货主地区。
设置参数province的控件类型也为下拉框,数据字典为数据库表,数据库为FRDemo,数据表为订单,实际值与显示值的列名都选择货主省份。
效果查看
点击分页预览,不输入参数值后,直接点击查询,效果如上图。在线查看模板效果请点击ParaNull.cpt
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull.cpt
3. 方法二:通过报表参数
3.1 实现思路
在给数据列设置过滤条件的时候,同样使用if函数进行判断。
3.2 示例
打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull.cpt。
修改数据集
将数据集修改为查询订单表的数据即:SELECT * FROM 订单。
报表参数设置
点击模板>报表参数,添加两个报表参数,分别为area和province。
过滤条件设置
点击A2单元格,选择格子上方的过滤按钮,给A2单元格增加如下图所示的过滤条件:
注:nofilter表示不过滤,if(len($area)==0,nofilter,$area)表示参数area为空,就不过滤,若不为空则以参数值进行过滤;if(len($province)==0,nofilter,$province)意义相同。
效果查看
点击分页预览,不输入参数值后,直接点击查询效果如上图。在线查看模板效果请点击ParaNull1.cpt
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull1.cpt
参数为空在线视频请查看【参数为空】
相关文章推荐
- 【转】阴影锥原理详解
- Computer Organization--这些年上过的好课
- MR案例:链式ChainMapper
- tar命令详解
- 04 AppCan入门学习之本地存储locStorage
- jsp/servlet相关技术 (三) --- jsp编译指令与动作指令
- 对偶传播神经网络(CPN)
- hadoop系列:zookeeper(2)——zookeeper核心原理(选举)
- 配置安装Nagios启动apache时出现问题解决方法
- cocos2d-x的内存管理机制
- MR案例:定制Partitioner
- 应用Strong Name保存.NET应用程序集
- Linux下Nagios的安装与配置
- 加载gif图片
- java.lang.NullPointerException Exception details are logged in Window > Show View > Error Log 正确解决方法
- 关于maven相互依赖的工程部署问题
- hdu 5289 Assignment 2015 Multi-University Training Contest 1
- Iftop安装记录
- 代码规范问题总结(三)
- Java初级培训笔记------容器 (1)