历史版本28 :折叠树 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
11.0


1.2 预期效果

展示树状层级数据时,希望可以如下图通过点击按钮的方式来展开或收起每层的数据,那么该如何实现呢?

8CB781E6-EE0B-448F-81A9-9C3E86C503A6.GIF

1.3 实现思路

先将模板制作为 组织树报表,然后给每层数据添加树节点按钮,最后通过数据分析预览 (&op=view) 即可查看效果。

注:折叠树仅支持「数据分析」预览

注:决策报表、聚合报表不支持折叠树

2. 示例编辑

2.1 准备数据

1)新建一个数据库查询数据集 ds1,SQL 语句为:SELECT * FROM 公司部门

2)在新建一个 树数据集 Tree1,其数据来源于 ds1,设置其原始标记字段为列序号 1,父标记字段为列序号 2,如下图所示:

1622450534505871.png

预览效果如下图所示:

1638495565268990.png

2.2 制作组织树

1)将树数据集 Tree1 的 FR_GEN_0、FR_GEN_1、FR_GEN_2 这 3 个字段分别拖到 A1、A2、A3 单元格,并都设置为居左,如下图所示:

Snag_1003fd88.png

2)A2 单元格的左父格自定义为 A1,如下图所示:

注:设置父格的目的是,点击主格时,控制附属于该组的子项内容展开与折叠。

1622451276695180.png

3)A3 单元格的左父格自定义为 A2,如下图所示:

1622451364404643.png

4)A1、A2、A3单元格都将形态设置为数据查询 ds1,实际值为列序号1,显示值为列序号3,如下图所示:

注:这里设置显示值为列序号 3,是让前端预览时可以显示部门名称,而不是 ID。

1622451502877428.png

5)给 A2、A3 单元格都加相同的条件属性,隐藏掉没有数据的行,如下图所示:

1622451821867960.png

2.3 添加树节点按钮

给 A1、A2、A3 单元格都添加树节点按钮,这个按钮作用就是实现层级展开或收起,如下图所示:

1622451998738657.png

2.4 效果预览

2.4.1 PC 端

保存报表,点击「数据分析」预览,效果如 1.1 节中所示。

2.4.2 移动端

移动端不支持「数据分析」预览,要想在移动端实现折叠展开效果,可以参见文档 :移动端折叠展开树插件

3. 已完成模板编辑

已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\TreeReport\折叠树.cpt

点击下载模板:折叠树.cpt

4. 注意事项编辑

4.1 折叠树没有效果

问题描述:

用户设置了折叠树按钮后,预览报表时没有折叠树效果。

原因分析:

1)预览模式错误,使用了分页预览」。

2)在聚合报表中设置了折叠树。

3)在决策报表中设置了折叠树。

解决方案:

1)折叠树必须是以「数据分析」预览(op=view),而使用「分页预览无法实现动态折叠树效果。

2)更换为普通报表,聚合报表和决策报表不支持折叠树。

4.2 折叠树导出后没有展开按钮

折叠树导出为 Excel 后,折叠展开按钮是不会保存的,如下图所示:

1622605411425066.png