2

複数の列で正規表現文字列を検索する dgrid クエリを作成することは可能ですか? 通常、構文は {column1: "foo", column2: "foo"} を指定しますが、これは column1 と column2 の両方が "foo" である行を探します。しかし、両方の列に対して同じ検索文字列を使用したいのですが...それは可能ですか?どうすればよいですか? {column1 || のようなものが必要です column2 : "foo"}.

4

1 に答える 1

5

前の質問への回答で述べたように、独自の関数を作成できます。データグリッドの場合と同じように、データをdgridでフィルタリングすることはできますか?

または、リソースクエリ言語(RQL)を使用できます。

dgriddojo/store/Memoryたとえば、デフォルトで使用するストアにクエリを実行dojo/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 に答える