行分栏

编辑
文档创建者:文档助手1 (67727 )     浏览次数:7423次     编辑次数:12次     最近更新:jiangsr 于 2017-11-13     

目录:

1. 问题描述编辑

有时我们会遇到列数很少,但是扩展出很多行的报表,这种报表窄而长,预览或打印时会有很大的一片空白区域,不美观且浪费纸张。为了节省空间、增加美观性,FineReport报表可以通过分栏将报表进行行方向或者列方向的分栏显示,如下图行分栏后效果,数据是从上到下扩展,超过20行,就在第2列中显示,并且每列数据都有一个小标题,所有数据有一个大标题。
222

2. 示例编辑

2.1 数据准备
新建普通报表,新建数据集ds1:SELECT * FROM 人员变动表
2.2 模板设计
如下图,在报表主体上设计报表:
其中B3单元格的父格为C3,公式seq作用是对员工进行排序,其详细使用方法请查看行序号
2.3 未分栏预览
保存模板,预览模板,如下图,可以报表每页右侧都有很多的空白区域,浪费空间:
222
2.4 分栏设置
如上图,报表右侧还有很多空白区域,那么就可以设置行分栏,将左侧超过固定行的数据挪到右侧。
这里我们设置每一栏显示20行数据,不包括标题,以此类推。
就可以在菜单栏中,选择模板>报表分栏,设置为行分栏,超过20行时进行分栏,参与分栏的数据从左上角的A3到右下角的E3,故在分栏数据中填写A3:E3,如下图:
1)超过X行分栏
超过X行分栏是指纵向扩展的数据超过固定行数就进行行分栏,其中超过行分栏的数字计算公式为:
超过行分栏的数字=(分栏数据中结束分栏行序号-开始分栏行序号+1)*倍数,标题行不参与计算
如上图,分栏区域中分栏数据位A3到E3,结束分栏行序号和开始分栏行序号均为3,示例要求每个栏位显示20行数据,每条数据只占一行,所以倍数为20,那么:
超过行分栏的数字=(3-3+1)*20=20
2)分栏成X列
分栏成x列与超过X行分栏效果一样,都是设置每一栏中数据显示多少行,超过x行分栏是固定每一栏位的行数,栏数不确定,分栏成x栏是指所有的数据分成固定栏,每一栏中数据的行数根据数据总行数确定,如示例中,不包括标题,数据总共有409行,那么如果分栏成12栏,那么每一栏的数据行数=409/12(如果不能整除,则向上取整)=35,如下图:
222
3)复制行序列
复制行序列是指在分栏时将该行复制作为每个栏位的标题,因此其一般应用于单元格是标题的行,复制行序号的行不参与分栏。
另:报表设计时,大标题必须要覆盖整个分栏区域。
2.5 分栏时的特别要求
纵向扩展时,由于栏数不定,设置上面的分栏后,一页可能会显示出多栏,甚至最右边的栏会显示不全,而我们往往希望每页能够固定显示两栏。
此时我们需要保证,设计报表时,左侧设计报表所占的总列宽,需要跟右侧所在报表范围内的空白大小基本相同,就可显示2栏了,如果模板样式不好调,可以调整页面设置
如果需要显示3栏,则要保证报表范围内(分页线之间)能够分成3份等宽。
2.6 保存与预览
保存模板,点击分页预览,效果即如上。
模板效果在线查看请点击行分栏.cpt
已完成的模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\advanced\行分栏.cpt
注:分栏只适用于分页预览。

附件列表


主题: 报表应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: