根据sheet页面隐藏控件

怎么根据切换sheet页来隐藏和显示控件

image.png

image.png

FineReport 霜凡 发布于 2021-8-17 14:47 (编辑于 2021-8-17 15:21)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
2
snrtuemcLv8专家互助
发布于2021-8-17 14:50(编辑于 2021-8-17 14:54)

参考JS实现根据当前sheet隐藏参数面板-https://help.fanruan.com/finereport/doc-view-4105.html

这个js直接隐藏参数面板,你改成隐藏控件的js就可以

this.options.form.getWidgetByName("tx").setVisible(false);//隐藏控件,控件名为tx

this.options.form.getWidgetByName("tx").setVisible(true);//显示控件,控件名为tx

  • 霜凡 霜凡(提问者) $(\".fr-sheetbutton-container\").click(function() //给切换sheet的按钮绑定点击事件 { var a = _g().selectedIndex; //获取当前sheet的编号(从0开始) if (a == 1) { //如果是第2个sheet this.options.form.getWidgetByName(\"Labelsta2\").setVisible(false); this.options.form.getWidgetByName(\"sta2\").setVisible(false); this.options.form.getWidgetByName(\"Labelsta3\").setVisible(false); this.options.form.getWidgetByName(\"sta3\").setVisible(false); this.options.form.getWidgetByName(\"Labelsta4\").setVisible(false); this.options.form.getWidgetByName(\"sta4\").setVisible(false); } else { this.options.form.getWidgetByName(\"Labelsta2\").setVisible(true); this.options.form.getWidgetByName(\"sta2\").setVisible(true); this.options.form.getWidgetByName(\"Labelsta3\").setVisible(true); this.options.form.getWidgetByName(\"sta3\").setVisible(true); this.options.form.getWidgetByName(\"Labelsta4\").setVisible(true); this.options.form.getWidgetByName(\"sta4\").setVisible(true); } }); 是这样改吗,没效果啊
    2021-08-17 15:19 
  • snrtuemc snrtuemc 回复 霜凡(提问者) 刚测试,这个还真是,加载结束时间,控件可见不生效,不支持这个js,我在看看有没有其他代码
    2021-08-17 15:32 
  • snrtuemc snrtuemc 回复 霜凡(提问者) 用这个代码可以,测试可以生效_g().parameterEl.getWidgetByName(\"tx\").setVisible(false); == 就是把this.options.form换成_g().parameterEl
    2021-08-17 15:36 
  • 霜凡 霜凡(提问者) 回复 snrtuemc 多谢
    2021-08-17 15:41 
  • yzm88jAa3702017 yzm88jAa3702017 我是想把部分控件隐藏,不是隐藏整个面板,你发的这个链接应该是隐藏整个面板的吧
    2022-07-20 11:00 
  • 3关注人数
  • 1402浏览人数
  • 最后回答于:2021-8-17 15:21
    请选择关闭问题的原因
    确定 取消
    返回顶部