历史版本2 :JS实现下拉框控制折叠树展开不同层级 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在日常报表制作中,组织树层级确定且层级过多的情况下,用户希望实现根据自己查看报表时的需求一键展开相应层级的组织树,如:筛选框输入2,则组织树展开2层,筛选框输入5,则组织树展开五层。如下图所示:

1.2 解决思路

给组织树的相应层级添加树节点按钮、通过判断控件的参数值(即用户需要展开的层级数),添加定位符,最后通过 JS 判断定位符的位置,控制展开层数。

2. 示例编辑

2.2 准备模板

打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\GroupReport\自定义二层树节点展开.cpt报表,报表的制作的具体方法可参考:JS实现自定义折叠树节点展开层数

点击可下载模板:自定义二层树节点展开.rar

打开此模板是一个三层的树结构,如下图所示:

2.3 添加控件及条件属性

2.3.1 添加控件

1、参数面板添加一个标签控件,控件值为展开层级;一个下拉框控件,控件名为ProLev,数据字典为自定义(根据组织树层级自定义,此组织树有3层,故数据字典为1,2,3),控件值默认为3(根据用户需求设置即可)。

2、为下拉框控件ProLev添加编辑后的JS事件,实现无需点击查询按钮即可自动查询:_g().parameterCommit();


2.3.2 条件属性

为A1单元格添加条件属性:当$ProLev==3  OR$ProLev==2时,A1插入新值:1。

为A2单元格添加条件属性:当$ProLev==3时,A2插入新值:1。

解释:当ProLev为2时,表示用户需展开至第2层,故向第一层添加定位符;

          当ProLev为3时,表示用户需展开至第3层,故第一层、第二层都需添加定位符(当组织树层级更多时,以此类推)。


2.4 效果预览

保存模板,点击「数据分析」,效果如下图所示:


展开层级分别选择 2和1 ,效果如下图:

注:不支持移动端

3. 模板下载编辑