使用多选通配符过滤数据源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用多选通配符过滤数据源相关的知识,希望对你有一定的参考价值。
有人知道AppMaker中是否有通配符可用于查询中字段的所有可能值吗?
我目前有一个数据源,该数据源正在使用多选小部件根据状态进行过滤。我要完成的事情是,当所有值都被取消选择后,如果要应用其他过滤器,我希望在不清除整个查询的情况下加载该数据源的所有记录。我有一个有意义的工作,我必须像这样显式构造查询:
widget.datasource.query.filters.Status._in = ['Status Value 1','Status Value 2','Status Value 3']
我当前的解决方案是在选择一个值时加载正确的数据,并且在修改值时它正确显示查询的并集。但是,它会选择我的多重选择中的所有值。我知道它应该如何工作。
我尝试使用widget.datasource.query.filters.Status._contains = '';
并将分配值更改为无效。我什至使用_notContains
预期结果是使筛选仪表盘看起来像任何网站一样,在其中未选择筛选的情况下,将显示所有记录。我希望找到一个可以加载所有记录的通配符。只是试图找到一种在未选择所有记录的情况下模仿其他网站过滤器的方法。
感谢您的时间!
答案
因此,最简单的解决方案是按照以下步骤设置Multiselect:
选项绑定:
@models.YourModel.fields.Status.possibleValues
或者如果您的模型中没有可能的状态值,则将选项绑定设置为:
['Status Value 1','Status Value 2','Status Value 3']
值绑定:
@datasource.query.filters.Status._in
现在,您随时可以在多选中选择任何选项,查询将仅包括包含所选选项的记录。而且,如果取消选择所有选项,查询将忽略该过滤器或将其视为空值数组,因此,除非您应用其他过滤器,否则将返回所有记录。
以上是关于使用多选通配符过滤数据源的主要内容,如果未能解决你的问题,请参考以下文章