历史版本18 :日期控件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

报表中添加日期查询控件,可以查询指定日期区间内的报表数据。

1.2 功能介绍

目前日期控件有两种查询格式,分别为:

1)日期型:用户可以在年月日的范围内定义查询日期格式。

Snag_592ede2.png

2)时间型:用户可以在年月日时分秒范围内定义查询日期格式。

Snag_594b043.png

2. 控件介绍编辑

2.1 操作方法

报表设计时,进入参数面板编辑界面,将上方的日期控件拖动到参数面板中。

Snag_5987104.png

2.2 属性设置

选中日期控件后,可在右下方设置日期控件的属性。

Snag_5bb108a.png

每个属性介绍如下:

1)控件值:设定日期控件的默认显示值,有日期、公式、字段这三种格式。

2)格式:日期控件的查询格式,功能介绍中有提及。

3)起始日期:查询时输入的时间不能小于起始日期。

4)结束日期:查询时输入的时间不能大于结束日期。

5)水印:自定义水印内容。

6)字体大小:日期字体大小

7)返回值类型:需要跟数据库表中日期字段的类型匹配,有日期字符串这两种。

8)校验:勾选允许为空,则查询时日期控件内容可以为空。勾选允许直接编辑,则查询时允许手动输入日期。

注1:起始日期和结束日期可以使用公式传递参数和单元格。

注2:设定了起始日期和结束日期后,不在范围内的数据将变成灰色不可选取状态。

3. 示例编辑

下面使用日期控件实现日期区间查询效果。

3.1 数据准备

新建数据集 ds1,输入如下 SQL 查询语句:

SELECT * FROM 订单 where 1=1 

 ${if(len(starttime)=0,""," and 订购日期>='"+starttime+"'")}

 ${if(len(endtime)=0,""," and 订购日期<='"+endtime+"'")}

查询语句中新建了两个数据集参数:starttime 和 endtime,分别作为查询区间的头部参数和尾部参数。

Snag_5a97d07.png

3.2 报表设计

1)如下图设计报表样式,订购日期格式改为日期型,应付金额格式改为数字保留小数点后两位。

Snag_5aec8dd.png

2)进入参数面板编辑界面,将参数 starttime 和 endtime 添加到参数面板,绑定日期控件。

Snag_5b72639.png

3)设置日期区间开始日期的属性,选中 starttime 参数对应的日期控件,属性设置如下图所示:

控件值插入公式:monthdelta($endtime,-1),表示当前日期后推一个月最为开始日期的默认显示值。

结束日期插入公式:$endtime,表示选取日期区间开始日期时不能超过日期区间结束日期。

Snag_f876b75.png

4)设置日期区间结束日期的属性,选中 endtime 参数对应的日期控件,属性设置如下图所示:

控件值插入公式:today(),表示以今天作为日期区间的结束日期。

Snag_59b3218.png

3.3 效果预览

1)PC 端:

保存报表,点击分页预览,效果如下:

FF75B3A0-4CB4-458F-96CD-7E317E03A6F9.GIF

2)移动端

84AF6F09-9FF3-42A6-8391-FB843907998F.GIF

4. 模板下载编辑

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\日期控件.cpt

点击下载模板:日期控件.cpt

5. 注意事项

1)日期控件星期切换:

在 Web 端使用日期控件的时候,由于国内外对于一个星期的周期的差异化认识,会带来一些误操作,国外普遍认为一个星期从周日开始,国内普遍认为一个星期从周一开始,为了迎合国内外对于日期控件的习惯需求,FineReport 提供了日期控件星期切换的功能,在 Web 端选择日期控件的时候,点击周一即可将周一排在一个星期的第一天,点击周日即可将周日排在一个星期的第一天,如下图所示: