嵌入式主子表

  • 文档创建者:文档助手1
  • 编辑次数:22次
  • 最近更新:用户z1931049 于 2020-12-11
  • 1. 概述

    嵌入式主子报表特点是在单元格中嵌入独立的报表模板,嵌入的模板称为「子报表」,嵌入子报表后的整体称为「主报表」。

    各子报表格式可以不对齐,子表与主表的格式也可以不对齐,子报表能够获取主表中的值。如下图员工销售一览表:

    222

    2. 示例

    2.1 制作主报表

    2.1.1 设计表格

    新建普通报表,设计主表如下图所示:

    Snag_13b7f55.png

    注:根据实际情况将行 3 和行 5 的行高增高,否则只能显示部分数据。

    2.1.2 添加参数

    点击「模板>模板参数」,在主表中添加一个参数,双击参数名修改为「销售员」,通过参数查询某一个销售员的个人信息及订单信息。

    Snag_14242a8.png

    2.1.3 添加下拉框控件

    点击编辑参数界面,点击「全部添加」,在参数面板上生成组件,参数控件选择「下拉框控件」,最后调整组件位置,步骤如下图所示:

    1607675623537835.png

    2.1.4 设置控件默认值

    1)选中「下拉框控件」,组件名称修改为「销售员」,控件值默认为字符串「张颖」,即默认查询张颖的个人信息及订单信息。

    2)点击数据字典设置,选择数据库 FRDemo 中的雇员表,实际值为「雇员 ID」 列,显示值为「姓名」列,此处使用列序号分别为 1 列和 2 列。

    步骤如下图所示:

    1607676144454433.png

    2.2 制作子报表 1

    2.2.1 准备数据

    新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 雇员 where 雇员ID = ${ID}。通过参数 ID 查询出对应销售员的个人信息。

    1607677368337736.png

    2.2.2 设计表格

    设计表格如下图所示:

    1607677611657756.png

    完成后保存报表。

    2.3 制作子报表 2

    2.3.1 准备数据

    新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 订单 where 雇员ID = ${销售员} and strftime('%Y',订购日期)='2011'。通过参数「销售员」查询出对应销售员订购日期在 2011 年的订单信息。

    1607677368337736.png

    2.3.2 设计表格

    设计表格如下图所示:

    1607678393124410.png

    完成后保存报表。

    2.4 嵌入子报表

    1)打开主报表,右击主报表 B3 单元格,选择「单元格元素>插入子报表」,如下图所示:

    Snag_186bf5f.png

    2)在弹出的编辑子报表对话框中,选择子报表 1 所在路径。添加参数 ID (子表中的参数名称),值为公式 $销售员,将主表的销售员参数值传递给子表 1 的 ID 参数,如下图所示:

    Snag_189872a.png

    3)右击主报表 B5 单元格,选择「单元格元素>插入子报表」,在弹出的编辑子报表对话框中,选择子报表 2 所在路径。

    由于子报表 2 的参数名与主报表中的参数名相同,此时可以不设置传递参数,直接选择继承报表的参数,如下图所示:

    Snag_18d38f7.png

    2.5 效果预览

    保存报表,点击「分页预览」,效果如下图所示:

    4CB8DA55-B8BA-4D6E-8120-31A8006ADCB4.GIF

    注:移动端不支持。

    3. 模板下载

    已完成模板可参见:

    主报表:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\MasterReport\嵌入式主子表主报表.cpt

    子报表1:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\MasterReport\嵌入式主子表子报表1.cpt

    子报表2:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\MasterReport\嵌入式主子表子报表2.cpt

    点击下载模板:

    嵌入式主子表主报表.cpt

    嵌入式主子表子报表1.cpt

    嵌入式主子表子报表2.cpt

    4. 注意事项

    4.1 嵌入的子报表与主报表单元格边界问题

    4.1.1 问题描述

    当在主报表中嵌入子报表的单元格设置边框时,预览效果中子报表与单元格的左边界无法对齐,如下图所示:

    4.1.2 原因分析

    因为单元格的「单元格属性>样式>对齐」默认左右会自动缩进,所以预览时,嵌入的子报表与主报表单元格的左边界无法对齐。如下图所示:

    Snag_1a6da3e.png

    4.1.3 解决方案

    将「单元格属性>样式>对齐」左右缩进改为 0 即可。效果如下图所示:

    注:不支持子报表自动填充整个单元格。

    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!