1. 概述编辑
1.1 版本
报表服务器版本 | 插件版本 | 功能变动 |
---|---|---|
10.0.19 | V1.9.0 | - |
1.2 应用场景
在 cpt 模板 转换为 cptx 模板后,即可在 cptx 模板中使用「新分页预览」实现折叠树,本文主要讲解如何在新计算引擎下的实现折叠树,效果如下图所示:
2. 适用范围编辑
在「计算属性」中的是实验性功能中的相关功能如下:
勾选「折叠树」可以优化当前模板前台数据的加载性能,进而优化折叠树的前端性能。
在已经勾选「折叠树」后,计算属性界面会新增一个「异步取数」设置项,勾选该按钮模板可异步取数,从取数阶段就对折叠树性能进行优化,当数据量较大时可以开启。
勾选「折叠树-异步取数」可以优化当前工程下所有模板的折叠树性能且开启异步取数。
注:新引擎折叠树支持冻结及调整折叠按钮所在单元格的内容样式。
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.3 添加树节点按钮
给 A1、A2、A3 单元格都添加树节点按钮,这个按钮作用就是实现层级展开或收起,如下图所示:
注:新引擎折叠树所有折叠树层级都需要设置折叠树按钮。
3.4 转换为cptx模板
点击设计器上方工具栏的转换按钮,将该模板转换为 cptx 模板,弹出提示框信息转换成功,请查看设计器目录同名文件,即表示 cptx 成功生成。
注:cptx 生成后,不需要刷新目录树,cptx 模板会自动出现在同名 cpt 模板的同级目录下。
3.5 开启折叠树
点击设计器菜单栏的「模板」,选择「计算属性」,选择实验性功能,并勾选「折叠树」,如下图所示:
3.6 效果预览
保存报表,点击「新分页预览」,效果如 1.2 节中所示。
注:不支持移动端。
4. 已完成模板编辑
注:下载模板后,需要安装新计算引擎,并将模板转换为cptx后才生效。
已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\TreeReport\折叠树.cpt
点击下载模板:折叠树.cpt