yhdata_iGS3SfCd玄铁二
4 天前 发布在问答
【可视化】 下拉参数变化时图表隐藏
有一个参数是功能组件模块,想实现这个参数选择“全部”选项时保留图表5和图表6,选择除“全部“外的其他选项时,隐藏图表5 和图表6 脚本怎么写呢,还有这个脚本是具体在哪个地方写呢?不好意思各位大佬,刚接触这个软件可能问题比较低级  或者有其他实现这个的方法吗


最佳答案

永洪vip
yhdata_lyaa

2025-07-29 11:35:40

参考脚本
查看完整内容
319
5
精彩评论5
yhdata_lyaa
发表于 4 天前 显示全部楼层
参考脚本
  1. if (下拉列表参数1.getSelectedObjects().length==下拉列表参数1.getObjects().length){
  2. //全选
  3. 图表5.visible=true
  4. 图表6.visible=true
  5. }
  6. else{
  7. 图表5.visible=false
  8. 图表6.visible=false
  9. }
复制代码


回复

使用道具 2#

yhdata_iGS3SfCd玄铁二 回复yhdata_lyaa
发表于 2025-07-29 15:39:06
[img]"C:\Users\DELL\Pictures\Screenshots\屏幕截图 2025-07-29 153607.png" 您好,请问脚本是在报告——高级——脚本这里写吗? 我的这个全选是一个选项,不是全部选择,我写的代码是 function main(page, report, param) { // 1. 获取【功能组件模块】下拉参数(单选场景) var moduleParam = report.getParameter("功能组件模块"); if (!moduleParam) { console.error("未找到【功能组件模块】参数,请检查配置!"); return; } // 2. 获取选中值(单选场景直接用 getValue()) var selectedModule = moduleParam.getValue(); console.log("当前选中的功能组件模块:", selectedModule); // 3. 获取需要控制的图表(替换为实际组件名) var chart5 = page.getWidgetByName("图表5"); var chart6 = page.getWidgetByName("图表6"); // 4. 校验图表是否存在 if (!chart5 || !chart6) { console.error("未找到图表5或图表6,请检查组件名称!"); return; } // 5. 核心逻辑:选“全部”显示,否则隐藏 if (selectedModule === "全部") { chart5.setVisible(true); chart6.setVisible(true); } else { chart5.setVisible(false); chart6.setVisible(false); } } 然后选其他的选项时,图表并没有隐藏,请问代码有什么问题吗
回复

yhdata_lyaa回复yhdata_iGS3SfCd玄铁二
发表于 2025-07-29 16:00:17
是的,写在变化时运行,再看看
回复

yhbi老6了铂金四
发表于 4 天前 显示全部楼层
不要慌,实习请教带你的前辈很正常。
社区虽然也可以帮你,但是锻炼不要脸更加重要,是一笔不可多得的财富。
回复

使用道具 3#

yhdata_iGS3SfCd玄铁二
发表于 4 天前 显示全部楼层
  1. function main(page, report, param) {
  2.     // 1. 获取【功能组件模块】下拉参数(单选场景)
  3.     var moduleParam = report.getParameter("功能组件模块");
  4.     if (!moduleParam) {
  5.         console.error("未找到【功能组件模块】参数,请检查配置!");
  6.         return;
  7.     }

  8.     // 2. 获取选中值(单选场景直接用 getValue())
  9.     var selectedModule = moduleParam.getValue();
  10.     console.log("当前选中的功能组件模块:", selectedModule);

  11.     // 3. 获取需要控制的图表(替换为实际组件名)
  12.     var chart5 = page.getWidgetByName("图表5");
  13.     var chart6 = page.getWidgetByName("图表6");

  14.     // 4. 校验图表是否存在
  15.     if (!chart5 || !chart6) {
  16.         console.error("未找到图表5或图表6,请检查组件名称!");
  17.         return;
  18.     }

  19.     // 5. 核心逻辑:选“全部”显示,否则隐藏
  20.     if (selectedModule === "全部") {
  21.         chart5.setVisible(true);
  22.         chart6.setVisible(true);
  23.     } else {
  24.         chart5.setVisible(false);
  25.         chart6.setVisible(false);
  26.     }
  27. }
复制代码
回复

使用道具 4#

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
1500W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部