我有一个包含多个字段的Dojo DataGrid。我目前正在设置查询以一次搜索一个字段,如下所示:
grid.setQuery( {name:"Bob"}, {ignoreCase:true} );
但是我希望查询一次搜索所有字段。例如,我说我有三个名为“名字”,“朋友”,“家庭”的字段。假设我只想在三个字段中的任何一个中包含“Bob”的行显示在网格中。如果没有三个单独的查询,我将如何做到这一点?
感谢任何帮助。
答案 0 :(得分:2)
您的商店是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","friend","family"],
columnOperator : "AND",
columnValue : "Bob"
});