FineReport数据钻取
1. 问题描述
报表系统中数据的钻取是一个普遍的需求,如下图点击订单ID的时候能够钻取到该订单的明细数据。
FineReport报表通过超级连接功能方便的实现了数据钻取及无限层钻取。
2. 示例
我们以内置数据库FRDemo中的订单表和订单明细表为例为大家介绍下数据钻取的实现。
2.1 模板设置
以%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\DetailReport\Details_3.cpt为主表,其数据集是订单表。
新建一个子表,数据集就是订单明细表,将表样设计如下样式:
子表中定义一个参数,用来接收主表中传来的订单ID值,在此我们定义报表参数,参数的名为ID,然后给订单ID设置过滤条件,使订单ID等于参数ID,具体可参考报表参数章节。
保存模板,已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Son.cpt。
2.2 数据钻取设置
打开主表,右击订单ID数据列所在单元格,选择超级链接,弹出超级链接对话框,添加网络报表,然后按照下图设置超级链接:
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Father.cpt
注:在子表中使用同样的方法再设置超级链接就能实现无限层次的钻取。
2.3 预览
分页预览父表,点击某个订单ID,就能钻取到明细表了,如上图。
阅读(1204) | 评论(0) | 转发(0) |