参数栏自定义按钮提交后如何在此按钮内写JS使此按钮置灰

在参数栏自定义了一个按钮,JS事件为 _g('${sessionID}').writeReport(); 

想实现填报成功后,通过执行SQL查出数据库内的一个值,然后判断此值的结果显示或隐藏这个自定按钮,数据库的值能拿到,但按钮置灰写成 this.options.form.getWidgetByName("save").setEnable(false);

无效,按钮依然可以点击,这种设置按钮置灰应该怎么写?

FineReport Flymesky 发布于 2020-4-25 12:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
3
miss_liLv2中级互助
发布于2020-4-25 12:55

js事件写在报表的“填报成功后”事件中,如图:

image.png

  • Flymesky Flymesky(提问者) 在这写了 var date = contentPane.parameterEl.getWidgetByName(\"date\").getValue(); //获取参数栏日期 var zydm = contentPane.parameterEl.getWidgetByName(\"ZYDM\").getValue(); //获取参数栏部门 var yy = date.substring(0, 4); //截取年 var nn = date.substring(4, 6); //截取月 var sql = \"SELECT DISTINCT KHZT FROM TB_DEMO WHERE YY=\'\" + yy + \"\' AND NN=\'\" + nn + \"\' AND ZYDM=\'\" + zydm + \"\'\"; var khzt = FR.remoteEvaluate(\'=SQL(\"ABCM9\",\"\' + sql + \'\",1,1)\'); alert(khzt); //这个值不知道为啥就是获取不到,SQL是正常的 if (khzt == 1) { //判断是否提交 0.未提交 1.已提交 contentPane.parameterEl.options.form.getWidgetByName(\"KHZT\").setValue(\'已提交\'); contentPane.parameterEl.options.form.getWidgetByName(\"save\").setEnable(false); contentPane.parameterEl.options.form.getWidgetByName(\"submit\").setEnable(false); } 然后下面的按钮隐藏语句也就不起作用了
    2020-04-26 09:09 
最佳回答
0
snrtuemcLv8专家互助
发布于2020-4-25 13:01(编辑于 2020-4-25 13:03)

这个语句是对于参数面板的起作用的,报表内不生效

如果在cpt模板单元格,请用条件语句来设置是否显示按钮控件,或是否执行js事件

最佳回答
0
shirokoLv6资深互助
发布于2020-4-25 17:34

11.cpt

没毛病啊,自己看看哪里写错了

  • 5关注人数
  • 846浏览人数
  • 最后回答于:2020-4-25 17:34
    请选择关闭问题的原因
    确定 取消
    返回顶部