如何实现多个条件的模糊查询

5284
2

leiz 小试身手Lv3

发表于2020-3-11 14:09

楼主
本帖最后由 leiz 于 2020-3-12 10:14 编辑

最近遇到一个需求,在输入框中输入多个条件,怎么进行模糊查询,下面让我们来看下具体怎么实现:大概分为以下三个步骤:
第一步:将输入框中输入的内容转换成数组的形式。
输入的内容有一定的格式要求,每个条件中需要用符号隔开,如下图所示:

本例中输入了两个条件,中间用逗号隔开,然后使用以下表达式将输入的内容转换成数组(@cs为输入框组件的参数名,下面两个转换数组的方法取一个即可):
  1. <#=(@cs+"").split(",")#>
复制代码
  1. <#=@cs.value.split(",")#>
复制代码


第二步:使用.select方法将数组的每一项拼成字段名 like '%条件%'的形式,如下所示:
  1. <#=@cs.value.split(",").select(true,"XXB.BBQ like '%"+@+"%'")#>
复制代码
通过上面的表达式,可以得到下图的结果:

第三步:使用.join方法将数组转换成一个用or连接的字符串,如下所示:
  1. <#=@cs.value.split(",").select(true,"XXB.BBQ like '%"+@+"%'").join(" or ")#>
复制代码
通过上面的表达式,可以得到下图的结果:

可以看出,上图的结果就是我们常用的模糊查询的方法了,最后将第三步中的表达式放到表格的过滤条件中即可实现多条件的模糊查询了。



附件是表样,可以参考一下。
多条件模糊查询表样.zip (2.94 KB, 下载次数: )









最近看过此主题的会员

ddb

liwm

esen_53UOMOENFW

zhouxm

esen_4Y3L5ADO80

2个回答

只看楼主

辰哥 管理员

发表于2020-3-11 16:05

只看该作者

取消 关注该作者的回复

沙发

很棒的分享,感谢这位大神!

leiz 小试身手Lv3

发表于2022-11-10 17:21

只看该作者

取消 关注该作者的回复

板凳

获取多选维节点的下级子节点的集合:
<#=(@cs+'').split("\|").select(true,Getdim('汽车').getItem(@).children)#>

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号