Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

葡萄城报表提供了两个表格类报表元素:普通表格和矩表。前者用于表格列固定不变的应用场合,后者用于表格列根据数据记录动态设置的应用场合。
矩表实现动态列的关键是列分组,事实上,矩表也可以不设置动态列,这样就可以用矩表实现普通表格的效果。尤其是,在多层表头的表格中,如果存在跨行的列标题纵向合并,就需要用矩表来实现。

下面介绍这种特殊矩表报表的设计实现方法。

(1)创建数据集

从报表管理门户(http://localhost:8080 )点击【创建报表】,进入新报表的设计页面。点击右边栏的【数据】选项卡,再点击【数据集】右侧的【添加】。

在【新建数据集】下方,选中之前创建好的示例数据源,再点击【添加】按钮,如下图:

在数据集编辑对话框中,输入SQL语句:

select * from 奖金明细 where 年份=2014

验证查询语句后点击【确定】,保存数据集的定义。
数据集的字段列表如下图:

(2)实现思路

原始数据如下图:

期望的报表展示方式如下图:

这是典型的中国式复杂报表,具体体现在:不仅是多层表头,而且表头中不仅有横向单元格合并(如【教育事业费】),还有纵向单元格合并(如【合计】)。

实现思路:

由于普通表格不支持纵向单元格合并,因此,尽管本报表并不需要根据某个字段设置动态列,还是应该采用矩表来设计。在具体设计中,不设置列分组即可。

(3)添加矩表

从左侧工具箱中拖放一个【矩表】,先在第二行第一个单元格绑定【学校类别】字段,此操作同时也设置了行分组依据为【学校类别】字段,如下图:

右键点击【学校类别】单元格,选择【行分组】-【子级分组】,绑定【学校名称】字段,此操作同时也设置了行分组的子级分组依据为【学校名称】字段,如下图:

注意现在矩表的第三列没有绑定任何字段,这也意味着,本报表只有行分组,没有设置列分组。

右键单击【学校名称】,选择【列操作】-【在分组内-右侧】,如下图:

矩表将增加一个无分组的普通列。重复此操作,添加多个无分组静态列,然后绑定数据字段,如下图:

为实现多层表头,右键单击表头单元格,选择【行操作】-【上方】,插入一个新的表头行,如下图:

重复此操作,使得表头行总共有5行,如下图:

选中需要合并的多个单元格,右键单击,选择【单元格】-【合并单元格】,在合并后的单元格内填写表头文字,在末行(数据行)的单元格内绑定数据字段或表达式,例如,第三列末行单元格内的表达式为:=Fields!教育人员经费.Value+Fields!教育日常公用经费.Value+ Fields!教育标准化建设经费.Value+ Fields!教育信息化建设经费.Value,表示【教育事业费】合计金额,如下图:




  • No labels