1.1 版本
1.2 预期效果
在我们日常中经常对一日,一周,一个月数据进行查询筛选,如下图所示:
1.3 实现思路
使用「单选按钮组控件参数」与时间参数来控制要查询的时间范围内数据。
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
已完成的模板,请参见
:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\Parameter\通过日周月传参查询数据.cpt
点击下载模板:
通过日周月传参查询数据.cpt