2016-06-15 7 views
1

剣道グリッドデータソースに適用するフィルタが複数あります。私は以下のようなフィルタを使用している場合は剣道グリッドデータソース入れ子フィルタと組み合わせフィルタ

、すべてが大丈夫ですgridConfigは私の剣道グリッドの設定です:

  var mainFilters = []; 

      mainFilters.push({ 
       field: "x", 
       operator: "eq", 
       value: 1 
      }); 

      mainFilters.push({ 
       field: "y", 
       operator: "eq", 
       value: 2 
      }); 

      gridConfig.instance.dataSource.filter({ 
       logic: "and", 
       filters: mainFilters 
      }); 

私の問題はここにあります。私は別のプロパティが値の配列であると言うことがあります。私は、またはロジックを使って、冗長グリッドデータソースをz特性値でフィルタリングしたいと思います。

  zFilters.push(
        { field: "z", operator: "eq", value: 3}, 
        { field: "z", operator: "eq", value: 4}); 

      gridConfig.instance.dataSource.filter({ 
       logic: "or", 
       filters: zFilters 
      }); 

は今、私はこれらの2つのフィルタを組み合わせて、自分の剣道グリッドデータソース上で同時にそれらを適用するとします。たとえば、ここに私のz properyフィルタです。最終結果がこの論理に基づいていることを意味します:

(x = 1) AND (y = 2) AND (z = 3 OR z = 4) 

私は剣道フィルターでどのようにすることができますか?

答えて

0

それはあなたが混在している場合は、ウィジェットに適用することがでなければならない構造「または」と「と」フィルタ

{ 
    logic: "and", 
    filters: [ 
     { field: "x", operator: "eq", value: 1}, 
     { field: "y", operator: "eq", value: 2}, 
     { logic: "or", filters: [{ field: "z", operator: "eq",value: 3 }, { field: "z", operator: "eq",value: 4 }]} 
    ] 
} 

ついに

grid.dataSource.filter(abovefilterobject) 

はそれが

を役に立てば幸いれます
+0

あなたのロジックは正しくないようです! – Pedram

+0

私はすでにこのような構造をテストしていますが、動作しません。実際に、私は剣道グリッドのデータソースを持っているので、それをローカルにフィルタリングします。 – Pedram

関連する問題