最新历史版本 :新计算引擎下设置折叠树 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本功能变动
11.0-

1.2 应用场景

在 cpt 模板 开启新计算引擎 后,点击设计器菜单栏的「模板」,会新增一个「计算属性」入口,在「计算属性」中的实验性功能中,可优化与折叠树相关的性能,本文主要讲解如何在新计算引擎下的实现折叠树,效果如下图所示:

1.3 新计算引擎折叠树与旧计算引擎折叠树对比说明

1)新计算引擎性能提升

  • 新计算引擎异步折叠树在取数和前端渲染均做了优化,提升了性能。

  • 新计算引擎非异步折叠树,仅在前端渲染提升了性能。

2)支持重复与冻结

新计算引擎异步/非异步折叠树支持设置重复与冻结,但是限制所有的展开收起行列都必须同时重复或同时冻结。

2. 适用范围编辑

「计算属性」中的实验性功能中的相关功能如下:

  • 勾选「折叠树」可以优化当前模板前台数据的加载性能,进而优化折叠树的前端性能。

  • 在已经勾选「折叠树」后,计算属性界面会新增一个「异步取数」设置项,勾选该按钮模板可异步取数,从取数阶段就对折叠树性能进行优化,当数据量较大时可以开启。

  • 勾选「折叠树-异步取数」可以优化当前工程下所有模板的折叠树性能且开启异步取数。

注:新引擎折叠树支持冻结及调整折叠按钮所在单元格的内容样式,需注意若折叠树纵向展开则不可设置冻结行,折叠树横向展开则不可设置冻结列

2.1 异步取数折叠树

异步取数折叠树主要针对结构比较标准的单棵纵向折叠树,通过异步取数+异步加载,从取数阶段就进行折叠树性能的优化,只支持同时满足以下条件的场景:

  • 单数据集

  • 折叠树按钮纵向排布

  • 数据列公式仅支持 sum() 汇总和行内计算

  • 单棵折叠树

  • 折叠树按钮所在行的数据列左父格需设置为折叠树按钮所在单元格

注:如何判断是否支持异步取数:折叠树模板转换,转换后如显示兼容模式则不支持。

2.2 非异步取数折叠树

非异步取数折叠树主要优化前台数据加载的性能问题,实现前台异步加载,优化折叠树的前端性能,支持场景如下:

  • 折叠树纵向扩展

  • 单棵折叠树

3. 示例编辑

3.1 开启新计算引擎

1)新建一张普通报表,点击「模板>报表引擎属性」,勾选「启用后台分页」按钮,选择「新计算引擎」,点击「确定」即可开启新计算引擎。如下图所示:

2023-01-13_14-36-48.png

2)点击设计器菜单栏的「模板」,选择「计算属性」,选择实验性功能,并勾选「折叠树」,如下图所示:

2023-01-13_14-36-48.png

3.2 准备数据

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

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

3.3 制作组织树

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。

2023-01-13_14-36-48.png

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

2023-01-13_14-36-48.png

3.4 添加树节点按钮

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

注:新引擎折叠树所有折叠树层级都需要设置折叠树按钮。

2023-01-13_14-36-48.png

3.5 效果预览

保存报表,点击「分页预览」,效果如 1.2 节中所示。

注:不支持移动端。

4. 已完成模板编辑

注:下载模板后需要开启新计算引擎并勾选折叠树后才生效。

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

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