设置查询以搜索dojo数据网格的所有字段

tre*_*ear 5 dojo datagrid

我有一个包含多个字段的Dojo DataGrid.我目前正在设置查询一次搜索一个字段,如下所示:

grid.setQuery( {name:"Bob"}, {ignoreCase:true} );
Run Code Online (Sandbox Code Playgroud)

但是,我希望查询一次搜索所有字段.例如,我说我有三个名为"名字","朋友","家庭"的字段.假设我只想在三个字段中的任何一个中包含"Bob"的行显示在网格中.如果没有三个单独的查询,我将如何做到这一点?

任何帮助表示赞赏.

小智 2

您的商店是 aItemFileReadStore还是 a 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"
Run Code Online (Sandbox Code Playgroud)

您必须根据您的业务需求调整范例,但只要服务器可以根据过滤输入正确返回结果集,这种方法就可以工作。

生成此类请求的调用将是

grid.setQuery({
  columnsToQuery : ["name","friend","family"],
  columnOperator : "AND",
  columnValue : "Bob"
});
Run Code Online (Sandbox Code Playgroud)