1. 概述编辑
1.1 版本
报表服务器版本 | 功能变动 |
---|---|
10.0.19 | - |
1.2 应用场景
在 cpt 模板 转换为 cptx 模板后,即可在 cptx 模板中使用「新分页预览」实现折叠树,本文主要讲解如何在新计算引擎下的实现折叠树,效果如下图所示:
2. 适用范围编辑
仅使用于 CPTX 模板。
注:新引擎折叠树支持冻结及调整折叠按钮所在单元格的内容样式。
2.1 异步取数折叠树
异步取数折叠树主要针对结构比较标准的单棵纵向折叠树,通过异步取数+异步加载,从取数阶段就进行折叠树性能的优化,只支持同时满足以下条件的场景:
单数据集
折叠树按钮纵向排布
数据列公式仅支持 sum() 汇总和行内计算
单棵折叠树
折叠树按钮所在行的数据列左父格需设置为折叠树按钮所在单元格
注:如何判断是否支持异步取数:折叠树模版转换,转换后如显示兼容模式则不支持。
2.2 非异步取数折叠树
非异步取数折叠树主要优化前台数据加载的性能问题,实现前台异步加载,优化折叠树的前端性能,支持场景如下:
折叠树纵向扩展
单棵折叠树
3. 示例编辑
注:需要先安装「新计算引擎」插件,详情可参考:新计算引擎插件介绍。
3.1 报表设计
1)新建一张普通报表,新建一个数据库查询数据集 ds1,SQL 语句为:SELECT * FROM 公司部门
2)再新建一个 树数据集 Tree1,其数据来源于 ds1,设置其原始标记字段为列序号 1,父标记字段为列序号 2,如下图所示:
3.2 制作组织树
1)将树数据集 Tree1 的 FR_GEN_0、FR_GEN_1、FR_GEN_2 这 3 个字段分别拖到 A1、A2、A3 单元格,并都设置为居左,如下图所示:
2)A2 单元格的左父格自定义为 A1,如下图所示:
注:设置父格的目的是,点击主格时,控制附属于该组的子项内容展开与折叠。
3)A3 单元格的左父格自定义为 A2,如下图所示:
4)A1、A2、A3单元格都将形态设置为数据查询 ds1,实际值为列序号1,显示值为列序号3,如下图所示:
注:这里设置显示值为列序号 3,是让前端预览时可以显示部门名称,而不是 ID。
5)给 A2、A3 单元格都加相同的条件属性,隐藏掉没有数据的行,如下图所示:
3.4 添加树节点按钮
给 A1、A2、A3 单元格都添加树节点按钮,这个按钮作用就是实现层级展开或收起,如下图所示:
注:新引擎折叠树所有折叠树层级都需要设置折叠树按钮。
3.5 转换为 cptx 模板
1)点击设计器上方工具栏的转换按钮,点击该按钮
2)出现转换成功提示即可。
注:cptx 生成后,不需要刷新目录树,cptx 模板会自动出现在同名 cpt 模板的同级目录下。
3.6 效果预览
保存报表,点击「新分页预览」,效果如 1.2 节中所示。
注:不支持移动端。
4. 已完成模板编辑
注:下载模板后,需要安装新计算引擎,并将模板转换为cptx后才生效。
已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\TreeReport\折叠树.cpt
点击下载模板:折叠树.cpt