2

是否可以创建一个 dgrid 查询来搜索多个列上的正则表达式字符串?通常语法指定 {column1: "foo", column2: "foo"} 但它会查找 column1 和 column2 都是 "foo" 的行。但我想对两列使用相同的搜索字符串......这可能吗?我该怎么做?我需要像 {column1 || 第 2 列:“富”}。

4

1 回答 1

5

您可以编写自己的函数,正如我在对上一个问题的回答中提到的那样是否可以像在 datagrid 中一样过滤 dgrid 中的数据

或者您可以使用资源查询语言 (RQL)

dgrid查询其存储,例如dojo/store/Memorydojo/store/util/SimpleQueryEngine默认使用。您需要做的就是使用您选择的QueryEnginestore.queryEngine来提供属性。在 RQL 的情况下,它看起来像这样(来源):

require(["dojo/store/Memory", "rql/js-array", "dgrid/OnDemandGrid"], function(Memory, rql, Grid) {

    var store = new Memory({ data: { /* some data here */}});
    store.queryEngine = rql.query;

    var grid = new Grid({
        store: store,
        columns: { /* some columns here */}
    }, "grid")

});

现在您可以使用 RQL 语法查询 dgrid。回答您的问题的查询:(column1=foo|column2=foo)

请看看我的 jsFiddle ( http://jsfiddle.net/phusick/VjJBT )。随意使用 dgrid 本身(有一些预定义的查询)或 DOH 单元测试(打开 JS 控制台以查看输出)进行分叉和试验:

在此处输入图像描述

于 2012-09-01T10:40:44.817 回答