1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 预期效果
在我们日常中经常对一日,一周,一个月数据进行查询筛选,如下图所示:
1.3 实现思路
使用「单选按钮组控件参数」与时间参数来控制要查询的时间范围内数据。
2. 操作步骤
2.1 数据准备
在 FineReport 设计器中,点击「文件>新建普通报表」,并新建模板数据集 ds1 ,SQL 语句为:
select * from 订单
where 1=1 ${IF(Query_type="DAY","AND 订购日期 >= '"+ YYYYMMDD_S+"' AND 订购日期< '"+YYYYMMDD_E+"'" ,
IF(Query_type="WEEK","AND 订购日期>='"+YYYYWW_S+"' AND 订购日期<'"+YYYYWW_E+"'","AND 订购日期>='"+YYYYMM_S+"' AND 订购日期<'"+YYYYMM_E+"'"))}
其中Query_type为单选按钮控件参数;
YYYYMMDD_S为日时间开始参数,YYYYMMDD_E日时间结束参数;
YYYYWW_S为周开始参数,YYYYWW_E为周结束参数;
YYYYMM_S为月开始参数,YYYYMM_E为月结束参数;
订购日期为时间字段,可将对应的订购日期字段,替换成周月字段。
模板设计如下图所示:
2.2 添加控件
1)进入「参数面板」,在右侧属性面板控件设置 界面将参数全部添加;
设置 Query_type 为「单选按钮组控件」,将剩余参数全部设置为「日期控件」;
如下图所示:
2)适当调整参数面板上控件的大小和位置;
YYYYMMDD_S、YYYYMMDD_E、YYYYWW_S 、YYYYWW_E 、YYYYMM_S 、YYYYMM_E 参数后的控件全部设置为「日期控件」,且为其分别设置「控件值」和「标签名称」;
控件值依次为:2010-01-23、2011-07-23、2010-07-23、2011-01-23、2011-01-01、2011-02-23;
标签名称依次为:日时间开始参数:、日时间结束参数:、周开始参数:、周结束参数:、月开始参数:、月结束参数:;
为 Query_type 参数控件设置标签名称,为单选按钮控件参数:。
下图是为YYYYMMDD_S 参数设置「控件值」和「标签名称」的步骤,如下图所示:
3)依次为 YYYYMMDD_S、YYYYMMDD_E、Query_type、YYYYWW_S 、YYYYWW_E 、YYYYMM_S 、YYYYMM_E 标签控件设置控件值。控件值分别是:日时间开始参数:、日时间结束参数:、单选按钮控件参数:、周开始参数:、周结束参数:、月开始参数:、月结束参数: 。YYYYMMDD_S 标签控件设置控件值的步骤,如下图所示:
4)选中「单选按钮组控件」参数控件,在属性面板右侧选择「控件设置>属性」,为其设置数据字典,类型设置为「自定义」,设置3个实际值,依次为DAY、WEEK、MONTH;每个显示值与其对应的实际值相同。如下图所示:
2.3 效果查看
2.3.1 PC 端
保存模板,点击分页预览,效果如本文 1.2 节中相同。
2.3.2 移动端
1)APP
2)HTML5
3. 模板下载
已完成的模板,请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\Parameter\通过日周月传参查询数据.cpt
点击下载模板:通过日周月传参查询数据.cpt