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

Posted

技术标签:

【中文标题】设置查询以搜索 dojo 数据网格的所有字段【英文标题】:Set query to search all fields of a dojo datagrid 【发布时间】:2011-10-25 11:34:14 【问题描述】:

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

grid.setQuery( name:"Bob", ignoreCase:true );

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

感谢任何帮助。

【问题讨论】:

【参考方案1】:

您的商店是ItemFileReadStore 还是QueryReadStore

如果 ItemFileReadStore 你可以使用 AndOrReadStore http://dojotoolkit.org/reference-guide/dojox/data/AndOrReadStore.html

否则,我对有限 fetch 存储的最佳建议是调整后端代码以支持过滤选项,这样当存储进行 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"
);

【讨论】:

以上是关于设置查询以搜索 dojo 数据网格的所有字段的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式使 dojo 数据网格单元跨越多列

以编程方式创建 dojo 数据网格“抱歉发生错误”

dojo 增强网格过滤器 - 以编程方式设置列 A 大于某个数字

Dojo 使用 JsonRestStore 重新加载网格数据

如何有条件地设置 Dojo 数据网格中的单元格样式?

xpages gridx jsonREST 和查询/搜索