[Java报表软件—技术知识]组标题重复显示 |
一般报表的标题单元格,公式单元格等手工输入的值,都是不能自动根据分组数据进行重复显示的。这类的格子,在需要被重复的时候,需要给他自定义父格,让其跟随父格进行扩展。
下面来看一个简单的明细表,在这个报表当中绑定数据列的单元格比较少,而我们手写的格子和设置了背景,边框等的格子比较多。这些格子我们都需要它能够根据数据来重复显示。
新建一个自由报表,定义私有数据源ds1,其SQL语句为:select * from Employees。
我们先画好报表的样式,如下图所示:
500)this.width=500'>
如上是一个最基本的电子表格,下面我们在这个基础上来绑定数据。
将ds1中的字段 Name拖拽到B2单元格中,保留其默认的扩展并且分组的设置。
将字段 Sex拖拽到B3单元格中,保留其默认的扩展并且分组的设置。在绑定数据列对话框中附属页面,将其左父格自定义为 Name字段所在的单元格B2,也就是说B2单元格绑定的每一条记录,会有一个B3单元格的记录跟随在它下方。
同理,将其它与标题呼应的字段拖拽到对应的单元格中,采用与B3同样的设置。也就是报表当中每出现一次B2中的数据记录,后面所有以B2为父格的数据,都会出现在B2下方对应的位置。
绑定数据之后的报表设计界面如下图所示:
500)this.width=500'>
从数据源预览,我们可以知道,该数据表共有8条不同的记录,那么我们预览报表,得到的应该是8张相对独立的报表。但是预览,我们可以看到效果如下图:
500)this.width=500'>
除了第一张表是完整的报表之外,其它的7张表,都分别缺少了一些单元格,这是因为这些普通的格子并没有父格,所以它们不会跟随父格的扩展而被复制。
但是为什么有一些同样是普通单元格的格子,比如A3,A4这些格子却被复制了呢?
这是因为,我们设置了B3,B4这些格子的左父格是B2,那么这些格子会跟随B2扩展。而这种扩展,并不是仅仅是复制B3或者B4这一个格子,而是它们所在的行,所以和它们处于同一行的数据也被复制了。
那么要如何设置才能使其它的几个格子也能够跟随被复制呢?
解决的方法,就是自定义这几个格子的左父格为B2,也就是要让它们跟随B2的扩展而被复制。定义的方法是右键要被复制的单元格,选择父格设置,在系统弹出的对话框中,将其左父格自定义为B2。如下图所示:
500)this.width=500'>
另外,为了让每个表之间有间隔,可以给A11这个空白的行,也自定义其左父格为B2,这样,每个表的最下方就会有一个空白的行。预览报表效果图如下:
500)this.width=500'>
上面这张报表在示例当中为../WebReport/WEB-INF/reportlets/com/doc/simpledetail.cpt。
详情敬请登录:http://www.finereport.com
|
|
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1208444 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|