根据控件的值,判断其他控件是否可见

var OR_JOIN= this.options.form.getWidgetByName("OR_JOIN");

var a= this.options.form.getWidgetByName("TASK_ID");  

var b= this.options.form.getWidgetByName("CREATE_TIME");

var c= this.options.form.getWidgetByName("CREATE_TIME1");

var e= this.options.form.getWidgetByName("LabelTASK_ID");

var f= this.options.form.getWidgetByName("LabelCREATE_TIME");

var g= this.options.form.getWidgetByName("LabelCREATE_TIME1");

var d= this.getValue(OR_JOIN);

if(d == "Y"){

a.setVisible(true);

b.setVisible(true);

e.setVisible(true);

f.setVisible(true);

c.setVisible(false);

g.setVisible(false);

}else if(d == "N"){

c.setVisible(true);

g.setVisible(true);

a.setVisible(false);

b.setVisible(false);

e.setVisible(false);

f.setVisible(false);

}

image.png然后报错 :CustomJSError : Cannot read property 'setVisible' of undefined  请问如何解决

FineReport 柒年呀 发布于 2021-3-4 19:11 (编辑于 2021-3-4 19:12)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-3-4 19:29

下拉树与动态显示查询按钮.cpt

——————————————————

var form = this.options.form;

var value = this.getValue();

if(value == "date"){

form.invisible(["年","月","L年","L月"]);

form.visible(["开始日期","结束日期","L开始日期","L结束日期"]);

}else if(value == "month"){

form.invisible(["开始日期","结束日期","L开始日期","L结束日期"]);

form.visible(["年","月","L年","L月"]);

}else if(value == "year"){

form.invisible(["开始日期","结束日期","月","L开始日期","L结束日期",,"L月"]);

form.visible(["年","L年"]);

}

———————————————————

直接参考修改即可;

最佳回答
0
snrtuemcLv8专家互助
发布于2021-3-5 07:53

如果是在填报页面,把var OR_JOIN= this.options.form.getWidgetByName("OR_JOIN");中

this.options.form

这个改成

contentPane

---------------------------------------------

var OR_JOIN= contentPane.getWidgetByName("OR_JOIN");

var a= contentPane.getWidgetByName("TASK_ID");  

var b= contentPane.getWidgetByName("CREATE_TIME");

var c= contentPane.getWidgetByName("CREATE_TIME1");

var e= contentPane.getWidgetByName("LabelTASK_ID");

var f= contentPane.getWidgetByName("LabelCREATE_TIME");

var g= contentPane.getWidgetByName("LabelCREATE_TIME1");

var d= this.getValue(OR_JOIN);

if(d == "Y"){

a.setVisible(true);

b.setVisible(true);

e.setVisible(true);

f.setVisible(true);

c.setVisible(false);

g.setVisible(false);

}else if(d == "N"){

c.setVisible(true);

g.setVisible(true);

a.setVisible(false);

b.setVisible(false);

e.setVisible(false);

f.setVisible(false);

}

  • 3关注人数
  • 522浏览人数
  • 最后回答于:2021-3-5 07:53
    请选择关闭问题的原因
    确定 取消
    返回顶部