历史版本5 :JS实现自定义折叠树节点展开层数 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
在日常报表制作过程中,组织树形式是非常便捷常用的展示形式。但在使用过程中,因为数据量,以及组织树层级不确定时候。我们希望能够初始化时候根据需求展开一定层级的树节点。
2. 思路编辑
通过给组织树的每个层级添加树节点按钮;添加定位符,最后通过JS设置加载结束事件、判断定位符的位置,点击树节点按钮展开层数。
3.操作步骤编辑
3.1 报表设计
构建一个控件树节点,具体建立方法可参考组织树报表示例。
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\GroupReport\组织树报表.cpt
此处是一个三层的树结构,如下图:
给添加了数据列的三个单元格(上图A1,A2,A3)设置按钮控件,右击这三个单元格,右侧弹出控件设置面板,按钮类型选择树节点按钮,如下图所示:
3.2 设置加载结束事件
点击菜单模板>模板Web属性>数据分析设置,添加加载结束事件,如下图所示:
js代码如下:
$("#content-container").find("tr").has(".x-treenode-unexpand").each(function(){
if($(this).children().eq(0).text()==1){ //eq(0)表示最左边的单元格;text()==1,表示内容为1的单元格
$(this).find(".x-treenode-unexpand").trigger('click');}})
3.3 添加定位符
在需要展开的组织树节点前,增加 一个数字1作为定位符。并设置定位符的父格,随着部门进行扩展。
注:定位符可以任意设置,但需与js中text()处保持一致。
如图所示:
最后,将A列隐藏即可。
点击保存后,选择数据分析预览。效果为默认模板打开时候,只展开一层树节点。
如果想要展开两级节点,在第二级部门ID(即B2单元格)前面增加定位符即可。
如图所示:在A2单元格输入定位符:1;
同理设置A2单元格左父格为B2;
之后将A列隐藏。
点击保存后,选择数据分析预览。效果为默认模板打开时候,展开两层树节点。
4 预览效果编辑
只展开第一层树节点,效果如下:
展开二级节点,效果如下: