-
leiz 小试身手Lv3
发表于2020-3-11 14:09
楼主
本帖最后由 leiz 于 2020-3-12 10:14 编辑
最近遇到一个需求,在输入框中输入多个条件,怎么进行模糊查询,下面让我们来看下具体怎么实现:大概分为以下三个步骤:
第一步:将输入框中输入的内容转换成数组的形式。
输入的内容有一定的格式要求,每个条件中需要用符号隔开,如下图所示:
本例中输入了两个条件,中间用逗号隔开,然后使用以下表达式将输入的内容转换成数组(@cs为输入框组件的参数名,下面两个转换数组的方法取一个即可):
复制代码复制代码
第二步:使用.select方法将数组的每一项拼成字段名 like '%条件%'的形式,如下所示:
复制代码通过上面的表达式,可以得到下图的结果:
第三步:使用.join方法将数组转换成一个用or连接的字符串,如下所示:
复制代码通过上面的表达式,可以得到下图的结果:
可以看出,上图的结果就是我们常用的模糊查询的方法了,最后将第三步中的表达式放到表格的过滤条件中即可实现多条件的模糊查询了。
附件是表样,可以参考一下。
多条件模糊查询表样.zip
(2.94 KB, 下载次数: )
最近遇到一个需求,在输入框中输入多个条件,怎么进行模糊查询,下面让我们来看下具体怎么实现:大概分为以下三个步骤:
第一步:将输入框中输入的内容转换成数组的形式。
输入的内容有一定的格式要求,每个条件中需要用符号隔开,如下图所示:
本例中输入了两个条件,中间用逗号隔开,然后使用以下表达式将输入的内容转换成数组(@cs为输入框组件的参数名,下面两个转换数组的方法取一个即可):
- <#=(@cs+"").split(",")#>
- <#=@cs.value.split(",")#>
第二步:使用.select方法将数组的每一项拼成字段名 like '%条件%'的形式,如下所示:
- <#=@cs.value.split(",").select(true,"XXB.BBQ like '%"+@+"%'")#>
第三步:使用.join方法将数组转换成一个用or连接的字符串,如下所示:
- <#=@cs.value.split(",").select(true,"XXB.BBQ like '%"+@+"%'").join(" or ")#>
可以看出,上图的结果就是我们常用的模糊查询的方法了,最后将第三步中的表达式放到表格的过滤条件中即可实现多条件的模糊查询了。
附件是表样,可以参考一下。