Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77935
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 388
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-29 10:01
文章分类
文章存档

2015年(8)

2014年(34)

我的朋友

分类: 数据库开发技术

2015-05-18 11:29:51

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,就能钻取到明细表了,如上图。
阅读(1035) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~