我有一个包含多个字段的Dojo DataGrid.我目前正在设置查询一次搜索一个字段,如下所示:
grid.setQuery( {name:"Bob"},{ignoreCase:true} );
但是,我希望查询一次搜索所有字段.例如,我说我有三个名为“名字”,“朋友”,“家庭”的字段.假设我只想在三个字段中的任何一个中包含“Bob”的行显示在网格中.如果没有三个单独的查询,我将如何做到这一点?
任何帮助表示赞赏.
解决方法
您的商店是ItemFileReadStore还是QueryReadStore?
如果是ItemFileReadStore,您可以使用AndOrReadStore
http://dojotoolkit.org/reference-guide/dojox/data/AndOrReadStore.html
否则,我对有限的获取存储的最佳建议是调整后端代码以支持过滤选项,这样当商店进行POST(或GET)时,您解析出要搜索的字段数组,并相应地返回结果集.
你会看到类似的东西
start 0 count 25 columnsToQuery : ["name","friend","family"] //or perhaps a CSV string will do columnOperator : "AND" columnValue : "Bob"
您必须根据业务需要调整范例,但只要服务器可以根据过滤输入正确返回结果集,这种方法就可以工作.
产生这样一个请求的调用将是
grid.setQuery({ columnsToQuery : ["name","family"],columnOperator : "AND",columnValue : "Bob" });