zoukankan      html  css  js  c++  java
  • 在线报表设计实战系列 – ⑥矩表高级应用

    葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

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

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

    (1)创建数据集

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

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

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

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

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

     

    (2)实现思路

    原始数据如下图:

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

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

    实现思路:

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

     

    (3)添加矩表

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

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

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

    (4)添加静态列

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

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

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

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

    (5)设置合并单元格

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

    注意在合并单元格中,一部分是横向合并,一部分是纵向合并。

    (6)设置汇总行

    右键单击末行【学校类别】单元格,选择【汇总操作】-【在分组前显示汇总】,如下图:

    对末行第二列的【学校名称】做同样的操作,如下图:

    将文字“汇总”修改为“合计”,然后合并【汇总】与【学校名称】两个单元格,将内容修改为【总合计】,将绑定字段单元格内的表达式都改为Sum()表达式,如将【=Fields!教育标准化建设经费.Value+Fields!教育信息化建设经费.Value】改为【=sum(Fields!教育标准化建设经费.Value+Fields!教育信息化建设经费.Value)】,如下图:

    (7)设置外观格式

    选中标题行、合计行、【学校类别】单元格,设置不同的背景色,如下图:

    预览效果如下:

    至此,一个仅有静态列的复杂表头的报表就设计完成了。

    定制培训加量全心送!凡在2017年12月31日之前,购买葡萄城控件团队授权企业授权的用户,不仅可以享受到优惠的价格,还可获赠葡萄城技术专家根据客户项目需求提供的定制培训服务。老客户推荐新客户成单,也将获得“客户推荐双重感恩礼”。

    点击此处,了解更多。

    转载请注明出自:葡萄城报表

  • 相关阅读:
    [Web Security] Create a hash salt password which can stored in DB
    [Angular] Stagger animation v4.3.3
    [D3] Make D3 v4 Charts Responsive with the viewBox attribute
    [D3] Create Chart Axes with D3 v4
    [D3] Margin Convention with D3 v4
    [D3] Better Code Organization with selection.call() with D3 v4
    [D3] Basic Interactivity with D3 v4
    [Angular] Reactive Store and AngularFire Observables
    Google Play和基于Feature的过滤
    Three Swaps DFS
  • 原文地址:https://www.cnblogs.com/zenmshuo/p/matrix_report.html
Copyright © 2011-2022 走看看