隐藏控件

决策报表,一个tab块,将控件放在tab块外面,每个tab块对应的控件不同,要求切换tab页的时候隐藏/显示一些控件

这个报错是什么意思,怎么解决,用这个代码测试报表块儿就没问题,我现在用的是控件

FineReport yzm250714 发布于 2021-12-27 15:19 (编辑于 2021-12-27 15:26)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
shirokoLv6资深互助
发布于2021-12-27 15:28(编辑于 2021-12-27 15:57)

image.png

选中tabpane设置tab切换事件,根据selectTabIdx(tab的序号,从零开始)设置控件的隐藏和显示。

setTimeout(function(){    

    var pane=_g().options.form.getWidgetByName("tabpane0");

    if(pane.selectTabIdx==0)

        {_g().getWidgetByName().setVisible();

        _g().getWidgetByName().setVisible();

        _g().getWidgetByName().setVisible();

        ....

        }

    else if(pane.selectTabIdx==1)

    {}

    .....

},500);

  • yzm250714 yzm250714(提问者) 是不是我的js写错了,麻烦您帮我看一下 setTimeout(function(){ var pane=_g().options.form.getWidgetByName(\"tabpane0\"); if(pane.selectTabIdx==0) pane.setVisible(false); else if(pane.selectTabIdx==1) pane.setVisible(true); else if(pane.selectTabIdx==2) pane.setVisible(false); else if(pane.selectTabIdx==3) pane.setVisible(false); else if(pane.selectTabIdx==4) pane.setVisible(false); else if(pane.selectTabIdx==5) pane.setVisible(false); },500);
    2021-12-27 15:37 
  • shiroko shiroko 回复 yzm250714(提问者) 隐藏事件用你自己的不要用我的pane。。。另外你每个if应该要写很多个的用{}括起来,因为你不光要写显示的还要写隐藏的,你不知道上一个tab是哪个过来的
    2021-12-27 15:41 
  • yzm250714 yzm250714(提问者) 回复 shiroko 我不是很懂js代码的原理,您这让我改,我可能改不太出来,方便加个注释么,比如var是什么意思
    2021-12-27 15:51 
  • shiroko shiroko 回复 yzm250714(提问者) 你上面的截图,隐藏显示按钮的js不是已经写好了吗,你先全部复制到第一个if条件后面加的{}里面,先试试你就知道了
    2021-12-27 15:54 
  • yzm250714 yzm250714(提问者) 回复 shiroko 您好,这么写好像失效了,隐藏的控件没有显示出来 setTimeout(function(){ var pane=_g().options.form.getWidgetByName(\"tabpane0\"); if(pane.selectTabIdx==0){ _g().getWidgetByName(\"入学日期从\").setVisible(false); _g().getWidgetByName(\"至\").setVisible(false); _g().getWidgetByName(\"学历\").setVisible(false); _g().getWidgetByName(\"专业\").setVisible(false); _g().getWidgetByName(\"报考研究所\").setVisible(false);} else if (pane.selectTabIdx==1){ _g().getWidgetByName(\"入学日期从\").setVisible(true); _g().getWidgetByName(\"至\").setVisible(true); _g().getWidgetByName(\"学历\").setVisible(true); _g().getWidgetByName(\"专业\").setVisible(true); _g().getWidgetByName(\"报考研究所\").setVisible(true);} else if(pane.selectTabIdx==2){ _g().getWidgetByName(\"入学日期从\").setVisible(false); _g().getWidgetByName(\"至\").setVisible(false); _g().getWidgetByName(\"学历\").setVisible(false); _g().getWidgetByName(\"专业\").setVisible(false); _g().getWidgetByName(\"报考研究所\").setVisible(false);} else if(pane.selectTabIdx==3){ _g().getWidgetByName(\"入学日期从\").setVisible(false); _g().getWidgetByName(\"至\").setVisible(false); _g().getWidgetByName(\"学历\").setVisible(false); _g().getWidgetByName(\"专业\").setVisible(false); _g().getWidgetByName(\"报考研究所\").setVisible(false);} else if(pane.selectTabIdx==4){ _g().getWidgetByName(\"入学日期从\").setVisible(false); _g().getWidgetByName(\"至\").setVisible(false); _g().getWidgetByName(\"学历\").setVisible(false); _g().getWidgetByName(\"专业\").setVisible(false); _g().getWidgetByName(\"报考研究所\").setVisible(false);} else if(pane.selectTabIdx==5){ _g().getWidgetByName(\"入学日期从\").setVisible(false); _g().getWidgetByName(\"至\").setVisible(false); _g().getWidgetByName(\"学历\").setVisible(false); _g().getWidgetByName(\"专业\").setVisible(false); _g().getWidgetByName(\"报考研究所\").setVisible(false);} },500);
    2021-12-27 16:16 
  • 2关注人数
  • 457浏览人数
  • 最后回答于:2021-12-27 15:57
    请选择关闭问题的原因
    确定 取消
    返回顶部