填报页面如何动态控制控件是否允许空值

希望实现的效果是C7选择不同的值时,D7或E7设置为必填。

image.png

目前发现通过JS设置控件的allowBlank属性是无效的,提交的时候还是不会进行非空的判断。

var value = this.getValue();
var classWidget = contentPane.getWidgetByCell("D" + r);
var materialWidget = contentPane.getWidgetByCell("E" + r);
if(value == 1){
    classWidget.setEnable(false);
    materialWidget.setEnable(false);
    classWidget.options['allowBlank'] = false;
    materialWidget.options['allowBlank'] = true;
}

请问有什么途径能实现我的需求呢。是不是只能在内置校验中增加公式来判断

FineReport ajkx 发布于 2020-8-20 17:36
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
luojian0323Lv7资深互助
发布于2020-8-20 17:50(编辑于 2020-8-20 17:50)

在填报属性中设置提交数据检验,类似下图这样

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2020-8-21 07:57

可以自写提交按钮,然后点击事件js代码

var value = this.getValue();
var classWidget = contentPane.getWidgetByCell("D" + r);
var materialWidget = contentPane.getWidgetByCell("E" + r);

if(value == 1 && classWidget== "" && materialWidget== ""){

alert("D7或E7必填");

}

else{_g('${sessionID}').writeReport();};

最佳回答
0
孤陌Lv6资深互助
发布于2020-8-21 08:03(编辑于 2020-8-21 08:05)
是否可以为空Widget.options.allowBlank=false 设置控件是否可为空,true 可为空,false 不可为空

这个才是

你用JS获取填报扩展单元格控件的值-https://help.finereport.com/doc-view-1793.html 这里面的方法获取到控件  然后用上面的JS 就可以设置控件是否为空了

  • 4关注人数
  • 707浏览人数
  • 最后回答于:2020-8-21 08:05
    请选择关闭问题的原因
    确定 取消
    返回顶部