1. 概述
1.1 预期效果
报表系统中数据的钻取是一个普遍的需求,如下图所示,点击订单 ID的时候能够钻取到该订单的明细数据。
1.2 实现思路
FineReport 报表通过超级链接功能方便的实现了数据钻取及无限层钻取。
2. 示例
我们以内置数据库 FRDemo 中的订单表和订单明细表为例为大家介绍下数据钻取的实现。
2.1 模板设置
2.1.1 主模板
以%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\预警和间隔背景色.cpt为数据钻取主报表。
2.1.2 子模板
新建一个普通报表,数据集SQL为:SELECT * FROM 订单明细。
表样式设计如下图所示:
子表中给订单 ID 设置过滤条件,使订单 ID 等于参数 ID ,如下图所示:
保存模板,已完成模板作为数据钻取子报表.cpt。
2.2 数据钻取设置
打开主表,右击订单 ID 数据列所在单元格,选择超级链接,右侧弹出超级链接属性面板,点击加号添加网络报表,然后按照下图设置超级链接:
注:在子表中使用同样的方法再设置超级链接就能实现无限层次的钻取。
2.3 效果预览
分页预览父表,点击某个订单ID,就能钻取到订单明细表了,如1.1预期效果所示。
3. 已完成模板
已完成模板,可参见:
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\数据钻取主报表.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\数据钻取子报表.cpt
点击下载模板: