简单两栏报表
对于列表样式的报表而言,如果列数较少,那么生成的报表中页面会产生大量的空白,为了利用这些空白数据,我们可以将这种列数较少的列表型报表分两栏或三栏展示,如下图所示:
上面的例子中是一个典型的以简单列表方式展示数据的三列报表,因为数据只有三列,所以未能把页面宽度充分利用,所以这里将数据分两栏展示,同时将第一行设置为重复表头,这样每一页都会显示列表的表头数据。从打印预览中可以看到两栏的展示方式刚好占满页面宽度,这样就可以充分利用页面空间。
下面的内容当中,我们将以这个报表为例来说明这种分两栏或两栏以上列表型报表的实现方式。
定义报表模版
这里还是以示例数据库中的 employee表中数据为例,首先定义好如下图所示的报表模版:
报表模版中,第一行为标题行,设置第一行为重复表头;第二行中的单元格分别绑定了employee数据集中的EMPLOYEE_ID、EMPLOYEE_NAME、DEGREE三个字段,迭代方向为向下,同时设置它们的数据聚合方式为列表。
预览该报表,效果如下:
可以看到,这是一个非常简单的列表型报表,因为报表只有三列,所以页宽没有充分利用,为了把余下的页面宽度利用起来,我需要需要配置分栏,使得页面数据分为两栏展示。
配置单元格父格及数据展开方式
在配置分栏属性前,我们需要先明确,这里要实现数据分两栏的话,那么就是让第二行的数据向右迭代两次,然后再向下迭代,这样就可以实现我们想要的效果。明确分栏实现方式后,首先我们需要将绑定数据的单元格迭代方向由默认的向下改为向右。
选中A2、B2、C2单元格,将它们的迭代方向改为向右迭代如下图:
实际上我们需要的是A2单元格带着B2、C2一起迭代,所以这里实际上只需要修改A2单元格数据展开方式为向右即可。
因为A2单元格要带着B2和C2以及第一行表头中所有单元格一起向右迭代,所以我们还需要设置B2、C2、A1、B1、C1单元格的上父格为A2,同时将A2单元格的上父格设置为无。
配置分栏
点击工具栏上的页面配置按钮,在弹出的窗口中切换到分栏标签页,启用分栏,设置分栏主单元格为A2,分栏策略为两次扩展后分栏,如下图所示:
预览报表,效果如下图所示:
可以看到分栏效果如我们预期那样实现了,但两栏之间因为没有空格,导致使得分栏效果看起来不明显,为了让分栏看起来效果更好,我们可以在报表模版中新加一空白列,将空白列的D1、D2单元格的上父格设置为A2,使得A2单元格在迭代时可以带着这个空白列一起迭代,从而在分栏之间产生空隙,配置如下图所示:
再次预览报表,效果如下图所示:
可以看到我们想要的栏间隙已经有了,通过调节空白列宽度,可以设置栏间隙大小。