反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

树结构报表简介

  • 文档创建者:文档助手1
  • 历史版本:18
  • 最近更新:帆软应用复用-Cat 于 2022-11-17
  • 1. 概述

    事物之间存在分支层次关系时,一般可用折叠或缩进形式的组织树展现。

    在数据表结构中,这种分支层次关系一般通过类似 ID 与 parentID 两个字段表示,下图为表结构关系及其实现的组织树效果,组织的每个对象都由第一列唯一表示,每个对象之间的关系(上层对象)都是由第二列表示(值为第一列中中存在的值)。如下图所示:

    222

    注:组织树仅支持冻结第一个层级,折叠树不支持冻结。

    2. 示例

    2.1 准备数据

    新建普通报表,添加数据集 ds1,SQL 语句为:SELECT * FROM 公司部门,如下图所示:

    1605678390733128.png

    2.2 设计表格

    通过分析数据集中的数据可以看出,该组织结构包含 3 层,因此我们需要将这三层分别取出来。由于「部门 ID」列可以唯一表示一个部门,并且部门之间的层次关系也是通过「部门 ID」列的值表示的,所以设计表格如下:

    1)模板有三个单元格组织,每个单元格扩展代表一个层次;

    2)单元格均拖入数据集中的「部门 ID」列,再设置不同的过滤条件。

    最终表格效果如下:

    222

    2.2.1 过滤第一层数据

    单元格 A1 代表第一层部门,比如“总部”。但默认扩展出所有部门 ID,需要通过过滤条件筛选出第一层部门。

    由数据可以看出,第一层「上级 ID」 为空,因此双击 A1 单元格,选择「过滤」,添加条件:“上级 ID” 等于 'NULL',如下图所示:

    1605680330978129.png

    2.2.2 过滤第二层数据

    单元格 A2 代表第二层部门,比如“人力资源部”、“市场部”等。

    1)选择 A2 单元格,选择「单元格属性>扩展」,设置 A2 的左父格为 A1,上父格为默认,纵向扩展,使得该级部门 ID 能够跟随上级部门 ID 自动扩展,如下图所示:

    1.png

    2)双击 A2 单元格,点击过滤,添加条件:“上级 ID”等于'A1',取消勾选「将父格子作为过滤条件」,由于设置了父格,A1、A2 中数据列又来自于同一数据集,此时子格默认会将父格作为过滤条件,即会筛选出 部门 ID =父格 ID 的数据,导致没有符合条件的数据。因此需要在 A2 单元格过滤时,取消勾选如下图所示:

    1605680740616729.png

    2.2.3 过滤第三层数据

    第三层的原理与第二层相同,具体设置如下:

    1)选择 A3 单元格,选择「单元格属性>扩展」,设置 A3 的左父格为 A2,上父格为默认,纵向扩展,如下图所示:

    1.png

    2)双击 A3 单元格,点击过滤,添加条件“上级 ID”等于'A2' and “上级 ID”不等于' NULL ',取消勾选「将父格子作为过滤条件」,如下图所示:

    注:树节点展开时,有多个根节点且根节点下没有子节点,会有一层置空,需要在过滤条件中加上类似 parentID 不等于 NULL 的条件。

    1605681324305120.png

    注:若数据中组织层数不止三层,可以按照相同的方法添加。

    2.2.4 单元格显示值设置

    1)模板中使用的是部门 ID,要显示为相应的部门名称,分别选择 A1、A2、A3 单元格,选择「单元格属性>形态>数据字典」,类型设置为「数据查询」,数据集为「ds1」,实际值和显示值分别为「部门ID」和「部门名称」,如下图所示:

    1605683069438319.png

    2)若某一层中有些有子层,有些没有子层,此时由于扩展会出现一些空白行,可以将空白行设置条件属性进行隐藏,详情可参见:隐藏行列

    2.3 效果预览

    2.3.1 PC 端

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

    1605683588522576.png

    2.3.2 移动端

    App 与 HTML5 端效果相同,如下图所示:

    1605683819983483.png

    2.4 模板下载

    已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\GroupReport\组织树报表.cpt

    击下载模板:组织树报表.cpt

    3. 示例索引

    帮助文档
    应用场景效果预览
    树数据集实现组织树报表树数据集,只需要简单的设置就能自动递归出层级,方便实现组织树报表。

    1.gif

    1.gif

    不规范组织树报表不规范的组织结构:有的层级结构下面有子层,有的层级结构下面没有子层,即层级结构不确定。
    组织树传参左侧显示树状图,右边显示树中某一节点的详细信息。当点击左侧组织树的时候,右边表格随之自动变换。1.gif
    折叠树展示树状层级数据时,可以通过点击按钮的方式来展开或收起每层的数据。1.gif
    JS实现一键展开或收起折叠树/视图树所有节点实现一键全部展开或收起折叠树。1.gif
    JS实现自定义折叠树节点展开层数当组织树层级不确定时候,能在初始化时候根据需求展开一定层级的树节点


    附件列表


    主题: 报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526