2011-06-21 4 views
3

私はExtjs4を使用しています。グリッドフィルタリングにexactMatchを適用したいと思います。私は、新しく導入されたグリッドフィルタリング機能を使用しています。私はexactMatchを使用しようとしましたが、動作しません。Extjs4を使用してグリッドフィルタ機能で完全一致を適用するにはどうすればよいですか?

Ext.define('MyModel', { 
     extend: 'Ext.data.Model', 
     fields: [ 
      {name: 'ID', type: 'string'}, 
      {name: 'Title', type: 'string'} 
     ] 
    }); 

var store = Ext.create('Ext.data.Store', {   
     model: 'MyModel', 
     proxy: { 
      type: 'ajax',      
      url: 'myurl',      
      reader: { 
       type: 'json'     
      } 
     }, 
     sorters: [{ 
      property: 'ID', 
      direction:'DESC' 
     }], 
     autoLoad:true    
    }); 

var filters = { 
     ftype: 'filters',    
     encode: true, 
     local: true, 
     filters: [{ 
      type: 'numeric', 
      dataIndex: 'ID', 
      disabled: true 
     },{ 
      type: 'string', 
      dataIndex: 'Title', 
      exactMatch:true 
     }] 
    }; 

var grid = Ext.create('Ext.grid.Panel', { 
     store: store, 
     columns: [{ 
      header: 'ID', 
      dataIndex: 'ID', 
      width: 20 
     },{ 
      header: 'List Title', 
      dataIndex: 'Title', 
      flex:1 
     }], 
     renderTo: 'editor-grid', 
     width: 700, 
     height: 400, 
     frame: true,      
     features: [filters] 
    }); 

おかげ..

答えて

0

グリッドの機能プロパティのみFeature classから拡張されたクラスを含めることができます。ここに私のサンプルコードです。

は、グループ化機能を参照してください:

Ext.define('Ext.grid.feature.Grouping', { 
    extend: 'Ext.grid.feature.Feature', 
    alias: 'feature.grouping' 
    // More properties and functions... 
} 

Grouping Feature Usage

var groupingFeature = Ext.create('Ext.grid.feature.Grouping', { 
    groupHeaderTpl: 'Group: {name} ({rows.length})', //print the number of items in the group 
    startCollapsed: true // start all groups collapsed 
}); 

var grid = Ext.create('Ext.grid.Panel', { 
      features:[groupingFeature] 
} 
+0

こんにちは、私は尋ねました。フィルタリングの正確な一致。あなたの答えはそれに関連していますか? extJSの新機能です。だから私が何かばかげて尋ねているのであれば気にしないでください。 – Sohel

+0

私はExtJSも新しくなっています。 ExtJs Docsのグリッドの機能として、「完全一致」は表示されません。http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.feature.Feature 。あなたはどこを見つけましたか? – orandov

1

のExtJS V4.0のために、あなたは彼らがそうであるように、グリッドのための別々のフィルタオプションを設定する必要はありませんように見えますすでに含まれています。データはそのようにロードされた後、あなたはただフィルタリングするために店にメソッドを呼び出すことができます。

store.filter("Title", "Bob"); 

をしたり、そのように複数のフィルタを行いたい場合:

store.filter([ 
    {property: "email", value: "Bob"}, 
    {filterFn: function(item) { return item.get("ID") > 10; }} 
]); 
関連する問題