FineReport多个文本框做非空校验

需求是这样的,多个查询条件为空时,帆软是默认查询全部数据的,但是数据量太庞大,会给数据库服务器造成负载过高,资源浪费的情况;

如图所示,四个查询条件,当四个文本框内容为空时,做个alert提示,不让查,至少有一个条件的情况下才让查;

然后绞尽脑汁,后来也百度了一大堆,最终找到两种解决方式:

①SQL定义;

②用JS在查询按钮上写个点击事件;

先介绍第一种:SQL定义

select t.vin, t.keypart_type, t.orignal_label,t.keypart_no
 from pk_imes_his_user.tm_qas_keypart_track t
 where 1 = 1 ${if(len(vin) != null,
            " and t.vin in ('" + replace(vin, "\n", "','") + "')",
            "") }

where后面跟  1 = 1 ${if(len(vin) != null,
            " and t.vin in ('" + replace(vin, "\n", "','") + "')",
            "") }

vin号(第一个文本框)不为空时,执行换行多条件查询,vin号为空时,不查询

下图是点击查询时的效果,有数据就会查,没数据就查不到。不会查询全部;

 

第二种方式:按钮上的JS点击事件

给“查询”按钮设置个点击事件,JS代码

function check(name){
    var val=_g().parameterEl.getWidgetByName(name).getValue();
    return val.length>0;
}
if(check('vin')||check('gjjlx')||check('ljh')||check('edua'))
    return true;
else
{    alert('至少填写一条内容进行查询');return false;}

这里用到帆软自带的分页函数与控件名称函数

 点击查询,数据为空时,会有alert提示;具体情况看需求选择吧。

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值