java 数据过滤_在Java报表软件中实现数据过滤

阅读提示:

文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式。

FineReport最新版免费试用:https://www.finereport.com/product/active

FineReport最新版使用教程:https://help.fanruan.com/finereport/

当我们想从大量的数据中找到符合一定条件的数据时,我们就会想到利用报表的数据筛选或数据过滤功能来达到这种效果。例如网格式报表中,我们只想获得已付订单的记录:

9854c6935bfc0baef2da8d8c3612ea1c.png

在FineReport中,我们一般使用两种方式实现报表中数据的筛选与过滤:

方案一:直接通过SQL语句取出满足条件的的数据,如修改数据集SQL语句为:SELECT * FROM 订单 where 是否已付 = true。

方案二:通过数据列过滤来解决。

第一种方案通过直接控制数据源来达到数据过滤与筛选的目的,比较简洁直观,但是这是对于整张报表数据的整体过滤,若是一张报表中不同部分对数据筛选的要求各不相同,则可以使用第二种方案,更加灵活。

以下是通过数据列过滤来实现报表中数据的筛选与过滤的具体方法:

打开报表

打开报表%FR_HOME%WebReportWEB-INFreportletsdocPrimaryDetailReportDetails_3.cpt

设置数据过滤条件

选中订单ID数据列单元格,点击过滤按钮或者双击单元格,选择过滤标签,进入过滤设置对话框,设置过滤条件是否已付等于’true’,如下图:

2e9af636b39aa0c9097d5b4da6bffddf.png

注:由于单元格的计算顺序,过滤条件需要设置在单元格的父格上,如这里的订单ID,先取出已付的订单号,而其子格会自动继承父格条件,将父格子作为过滤条件。

已完成的模板,可参见%FR_HOME%WebReportWEB-INFreportletsdocPrimaryDetailReportDetails_4.cpt

阅读次数:1,918


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部