在数据分析报表中,通常会有结构树展开的分析报表。在结构树节点较多的时候,逐个进行展开、折叠等操作时,会比较繁琐、费时间、费手劲;此处示例通过点击按钮的方式,使用js实现一键展开、折叠所有的树节点(不限制层数)
1、设置JS事件
在需要事件展开/折叠的单元格/按钮上,添加“超级链接”,分别键入JavaScript事件控制:
展开事件:
// 一般都是匹配到的量几十个几百个,可以正常运行,比如省市区
$('.x-treenode-unexpand').trigger('click');
值得注意的是,如果匹配到的元素太多的话,会比较吃电脑性能,比如几千个(让我遇上了),这时候建议尝试官方文档:
JS实现自定义折叠树节点展开层数- FineReport帮助文档|报表开发|报表使用|学习教程
折叠事件:
$(".x-treenode-expand").attr("class","x-text fr-widget-click x-treenode-unexpand");
$('.fr-widget-click').eq(0).trigger('click');
$(".tntr").css('display','none');
2、效果图
如上,就可以实现分析报表中,通过点击按钮的方式,实现一键展开、折叠所有的树节点