列分栏

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

目录:

1. 问题描述编辑

数据是横向扩展的,超过一页的数据会显示在下一页,而每页下面会有很大的一片空白区域,不美观且浪费纸张。希望在一页中第一行扩展满后自动到下一行继续扩展。
可以使用列分栏来实现这种横向扩展自动换行的效果,如下图数据是从左到右扩展,显示完8天的数据之后自动到下面继续扩展。
222

2. 示例编辑

2.1 数据准备
新建普通报表,新建数据集ds1:SELECT * FROM 公司股票
2.2 模板设计
在报表主体设计报表样式,如下图:
所有的数据列均设为横向扩展(默认为纵向扩展),数据列的扩展请查看数据的扩展,seq公式的上父格设置为B3。
2.3 未分栏预览
保存报表,预览模板,如下图,可以看到数据每页只能显示9列,下方有很多空白地方,浪费空间:
222
2.4 分栏设置
上图可以看到每页能显示9列数据,除去标题列,只能显示8列数据,那么我们这里就可以设置每一栏显示8列,超过的到下一栏显示,以此类推。
就可以在菜单栏中,选择模板>报表分栏,设置为列分栏,超过8列时进行分栏,参与分栏的数据从B2到B8,故在分栏数据中填写B2:B8,如下图:
1)超过X列分栏
超过列分栏是指横向扩展的数据超过固定列数就进行列分栏,其中超过列分栏的数字计算公式为:
超过列分栏的数字=(分栏数据中结束分栏列序号-开始分栏列序号+1)*倍数,标题列不参数计算
如上图,分栏区域中分栏数据位B2到B8,结束分栏列序号和开始分栏列序号均为2(即B列),示例要求每个栏位显示8列数据,每条数据只占一列,所以倍数为8,那么:
超过列分栏的数字=(2-2+1)*8=8
2)分栏成x列
分栏成x列与分栏成X行原理一致,这里不再赘述。
3)复制列序列
复制列序列是指在分栏时将该列复制作为每个栏位的标题,因此其一般应用于单元格是标题的列,复制列序号的行不参与分栏。
2.5 分栏时的特别要求
由于行数不定,设置上面的分栏后,一页肯定会显示出多栏,甚至最下边的栏会显示不全,此时我们需要保证,设计报表时,上方设计报表所占的总行高,需要跟下方所在报表范围内的空白大小成为倍数的关系,就可显示几栏了,可以通过页面设置来调整报表大小。
注:报表设计时,大标题必须要覆盖整个分栏区域,如示例中的“某公司2~4月份股票行情”(大标题)所在的单元格所在区域必须包含到B1单元格。
2.6 保存与预览
保存模板,点击分页预览,效果即如上。
模板效果在线查看请点击列分栏.cpt
已完成的模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\advanced\列分栏.cpt

附件列表


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

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

此页面有帮助吗?