使用报表组件FineReport如何根据时间间隔取数

2025-10-23 20:48:47

1、例如实现如下效果:

在starttime和endtime里面输入查询时间的范围,然后在number里面输入间隔数为3,意思就是每隔3秒的数据才显示出来。

使用报表组件FineReport如何根据时间间隔取数

2、增加数据集

新建工作簿,添加数据集ds1,SQL语句:

SELECT *,datediff(s,convert(varchar(100),datets,111),convert(varchar(100),datets,120))%${number} as jg FROM dbo.datetest where 1=1 ${if(len(starttime)==0,"","and CONVERT(varchar(100),datets,120)>='"+ starttime +"'")} ${if(len(endtime)==0,"","and CONVERT(varchar(100),datets,120)<='"+ endtime +"'")}

说明:datediff(s,convert(varchar(100),datets,111),convert(varchar(100),datets,120))%${number} as jg //DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目.${number}这个是参数传过来间隔数。中间用%取模获取值为0的。${if(len(starttime)==0,"","and CONVERT(varchar(100),datets,120)>='"+ starttime +"'")} //判断一下如果starttime为空的时候查询所有时间,否则根据CONVERT(varchar(100),datets,120)>='"+ starttime +"'传过来参数进行筛选。

刷新参数,给number参数设置默认值为1。

3、表样设计

依据下图设置表样:

给B4添加过滤条件“jg等于 0”。

使用报表组件FineReport如何根据时间间隔取数

4、参数设计

点击参数界面面板,按照下图设置参数界面:

使用报表组件FineReport如何根据时间间隔取数

5、分页预览

点击分页预览,输入开始时间,结束时间,间隔数就可以查询了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢