2016-09-04 10 views
0

Ext jsには、filterと呼ばれるGridストア用の組み込み関数があり、コンボボックスから選択した値でグリッド結果をフィルタリングします。extjs - コンボボックスで選択した値以外のグリッドデータをフィルタリングする方法

逆にしたいです。選択したデータ以外のグリッドデータをフィルタリングする必要があります。

例:デフォルトでは、最初は[すべて]チェックボックスが選択されています。グリッド以外のチェックボックスをオフにすると、選択したチェックボックス以外のデータが表示されます。

Please find screenshot for filter options

後、私が試してみましたコードですが、それは選択されたチェックボックスでフィルタグリッドを行います。

var filterArray = []; 

filterArray.push({ 
        id: 'h2', 
        property: 'vehicle_trafic_light', 
        value: 'Y',  //For Yellow-Ball 
        anyMatch: true, 
        ensitive: false 
       }); 
filterArray.push({ 
        id: 'h2', 
        property: 'vehicle_trafic_light', 
        value: 'G',  //For Green-Ball 
        anyMatch: true, 
        ensitive: false 
       }); 

store.filter(filterArray); 

誰かにそれがあれば教えてください。

答えて

1

あなたができるユーザーfilterBy

filterByは、引数および機能の楽しみは、ストア内のレコードごとに呼び出されたとして(コールが楽しいことができます)関数を取ります。

store.fliterBy(function(record){ 
     if(condition to include record) 
      return true;     // record will be included 
     else 
      return false;     // record will be excluded 
}); 

レコードは、そのレコードの楽しい値の戻り値に基づいてフィルタリングされます。

ので、

  1. 記録Aのための楽しいリターンtrueの場合、レコードは店舗に含まれます。
  2. funがレコードBに対してfalseを返した場合、レコードBは除外されます。
関連する問題