第1章 概述
使用UniEAP Report定义报表时,支持在同一行上并排出现多个横向扩展、或在同一列上并列出现多个纵向扩展,且多个扩展之前彼此没有关联。但有时,可能需要定义如下图所示的报表。
该报表的特点是,在不同行上存在多个相对独立的组成部分,每个部分各自是横向扩展的。这就是本文所说的“组合报表”,即有多个独自扩展的部分组合在一起的报表。
第2章 错误的定义方法
按照第一反应,可能会想到下图中定义这张报表的方式。
其中红框圈起来的格都是横向扩展的,且第二部分的扩展格对第一部分的扩展格没有依赖。这样看起来各部分分别扩展,就能实现想要的效果。
但事实上,这样定义是错误的。将报表导出到Excel中,会得到图3所示的效果。表格中出现了毫无意义的空白(红框圈起的部分)。
之所以会有这样的效果,是因为图2中扩展格B在生成报表时扩展出了多列,根据UniEAP Report的填充逻辑,会把与之在同一列上的A格“撑开”,A格在此处扩展出的内容虽然只占一格,却会多出四个空格。(注意与B依赖于A的情况的区别,如果B依赖于A,则此处A扩展出的这五个格会合并为一个。)其他部分同理。
第3章 使用子布局定义报表
正确的方法是使用子布局来定义报表。子布局的概念及具体用法参见《UniEAP Report 工具手册》4.4.5节。
如图4所示,为除第一部分外的每个部分定义一个子布局。子布局占据一列或多列都可以,只要不超过子布局内容扩展后的列数即可。将原来在主布局中的内容移到对应的子布局中,参见图5。
子布局中扩展后的内容会“平铺”在主布局中,不会对其它部分产生影响,就能得到想要的效果,如图1所示。