数据折分

Top  Previous  Next

我们看一下这个报表的特点:在页面的下边有好多空白,这是为什么?当报表生成时,报表引擎用band填充页面,每填充一行,当前位置自动顺序往下移,当报表引擎发现下一个Band在此页中没有了足够的空间进行显示,则生成一个新的页面进行继续显示。

 

一个报表包含有一个大型文本的组件,这是Band高度增高的原因。另外,如果Band在此页中没有发现足够的空间用于显示,则生成一个新的页面,则在这个页面的下面留有空白位置。如下所示:

 

_img94

 

为了减少纸张浪费,使用康虎云报表的功能,对文本内容进行分段。我们只需在第一页的“第一级数据”Band上通过右键菜单设置“允许切分”属性。然后你将看到页面询问的空白少了很多:

 

_img95

 

在康虎云报表中,有以下对象支持切分:“文本”、“线形对象”和“富文本框”。当报表引擎需要切分一个Band时,按以下方式进行:

 

- 在空白处显示不可切分对象

- 部分显示可切分对象(“文本”对象)partially displays splittable objects (“Text” objects are displayed in a way that all lines have space in the object)

- 创建新页继续显示

- 如果没有足够空间显示不可切分对象,则移动到下一页显示,同时其下方的对象同样

- 循环执行这个过程直到Band中所有对象显示完毕

 

我们可以通过下面的例子来更清楚地了解切分算法:

 

_img96

 

需要注意的是分割算法并非完美无缺,其可能导到输出结果不如预期。 在切分Band上的对象以复杂方式分组 和/或 字体大小不同时,应非常小心地使用该功能。这里有一个示例:

 

clip0020