在frm表单中,通过按钮初始化后去修改图表显示或隐藏

Form23.zip

需求:在表单中,我通过按钮去控制图表的显示或隐藏。

现状:按钮事件设置成点击的时候,功能正常,但是设置成初始化后功能都不生效。

问题:在初始化后事件,我用了setTimeout函数,有部分代码是生效的。如下图(第一步生效,之后都不生效)

1、这是我按钮事件的设置(点击和初始化后想要实现的功能是一样的)

image.png

2、预览时,点击按钮功能都正常。

image.png

3、初始化后的事件却是执行到第二步的时候,后面的都不执行了

image.png

附:

代码如下

setTimeout(function(){

alert("第一步");

document.getElementById("fr-btn-BUTTON0").style.backgroundColor="#3f3f3f";//修改按钮背景色

alert("第二步");

this.options.form.getWidgetByName("chart0").invisible();//隐藏饼图1

alert("第三步");

this.setText("饼图1已隐藏"); //修改按钮显示名称

},1000)


FineReport qxl2 发布于 2018-12-3 12:46 (编辑于 2018-12-3 15:04)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
孤陌Lv6资深互助
发布于2018-12-3 12:50(编辑于 2018-12-3 15:43)

如图

image.png


效果图

112.gif



  • qxl2 qxl2(提问者) 这个我试过了,设置了5000,还是一样的,我试了下,有些代码,是可以实现的,但是用帆软的一些函数好像不行,比如setValue,也有可能this.***这些不生效,但具体原因我不清楚
    2018-12-03 13:33 
  • qxl2 qxl2(提问者) 还有就是,如果我把后面两步的代码放前面的话,是一条都不会执行的
    2018-12-03 13:34 
  • 孤陌 孤陌 回复 qxl2(提问者) 试了一下 加延时确实有问题 把延时去了就可以正常用了
    2018-12-03 13:50 
  • qxl2 qxl2(提问者) 回复 孤陌 你是说把1000去掉,其他都不改的情况下,全部都能执行成功吗,我8.0下面是不行的,能执行的代码放前面是能执行的,不能执行的代码还是不行的(当然这些代码放点击事件中是可以执行的)
    2018-12-03 13:59 
  • 孤陌 孤陌 回复 qxl2(提问者) 你的隐藏写法用错了 this.options.form.getWidgetByName(\'report0\').setVisible(false); 你那个是在参数面板的写法
    2018-12-03 14:03 
  • 3关注人数
  • 1190浏览人数
  • 最后回答于:2018-12-3 15:43
    请选择关闭问题的原因
    确定 取消
    返回顶部