如何实现过滤条件不能同时为空?

image.png

如图,三个参数可以组合查询,也可以单独查询。如果只要一个参数或两个参数查询,另一个为空的参数表示查询所有。现在的问题是,如何避免三个参数同时为空,也就是说三个参数要保证有一个不能为空,这样查询的数据量没有那么大,速度才能快。

FineReport lsq100post 发布于 2020-5-6 12:00
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
axingLv6专家互助
发布于2020-5-6 12:31
var aa=this.options.form.getWidgetByName("aa").getValue();
var bb=this.options.form.getWidgetByName("bb").getValue();
if(aa.length==0&&bb.length==0){
	FR.Msg.alert("提示","两个控件不能同时为空")
	return false;
	}


最佳回答
0
孤陌Lv6资深互助
发布于2020-5-6 12:11(编辑于 2020-5-6 12:48)

那你应该在查询按钮上写JS 把原来的查询按钮删除 用按钮控件 做一个查询控件 点击事件里写JS  获取3个控件值 如果全部为空 就弹窗提示并不执行查询 反过来 就是执行查询

var A=this.options.form.getWidgetByName("A1").getValue();

var A2=this.options.form.getWidgetByName("A2").getValue();

if(A.length==0&&A2.length==0)

{alert('参数不可以同时为空');}

else

{_g().parameterCommit();}


最佳回答
0
snrtuemcLv8专家互助
发布于2020-5-6 12:18(编辑于 2020-5-6 12:22)

模板

WorkBook36.cpt

s1,s2为参数控件,查询按钮点击事件j代码如下

var sq1=this.options.form.getWidgetByName("s1").getValue();

var sq2=this.options.form.getWidgetByName("s2").getValue();

if(sq1.length==0&&sq2.length==0)

{alert('请选择一个参数');}

else

{_g().parameterCommit();}


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