2012-08-10 45 views
0

我想要做的是网格列中的过滤器选项。这是列:无法获得定制网格过滤器的工作

{ 
     id: 'kleuren', 
     text: 'Kleuren', 
     sortable: true, 
     filterable: true, 
     minWidth: 60, 
     flexible: 0, 
     width: 60, 
     filter: { 
      type: 'list', 
      store: kleuren 
     }, 
     renderer: kleurenWeergave, 
     dataIndex: 'kleuren' 
    } 

的存储/模式我用这个

kleurenStore = Ext.create('Ext.data.Store', { 
    fields: ['id', 'text'], 
    data: kleurenModel 
}); 

var kleurenModel = [ 
      ['rood', 'rood'], 
      ['groen', 'groen'], 
      ['blauw', 'blauw'], 
      ['geel', 'geel'] 
      ] 

这是我网格现在

var grid = Ext.create('PersistantSelectionGridPanel', { 
    autoscroll: true, 
    region: 'center', 
    store: allLoaded, 
    multiSelect: false, 
    stateful: true, 
    features: [filtersFeature], 
    loadMask: false, 
    stateId: 'stateGrid', 
    viewConfig: { 
     stripeRows: true 
    }, 
    columns: [{.... 

回答

1

您运行的是什么版本的ExtJS的?不能用你发布的代码进行调试。

你可以发布你的网格代码?

网格应该有一个过滤器的功能添加为配置:

var filtersFeature = 
{ 
    ftype : 'filters', 
    local : false, // For Server Side Filtering 
    encode : true 
}; 

而且网格应该有一个配置选项

.... 
columns: defaultModel, 
loadMask: true, 
features: [filtersFeature] // To enable Filters 
.... 
+0

哎,我使用4.1如果我这样做我得到一个错误:错误:Ext.Loader未启用,因此依赖项无法动态解析。缺少必需的类:feature.filters – 2012-08-10 13:13:20

+0

您需要添加 “require:['Ext.ux.grid.FiltersFeature']” 而且您必须启用Ext Loader以启用动态依赖关系。这可以通过添加 Ext .Loader.setConfig({启用:真});在你的Ext.onReady中。Something Like: - Ext.onReady(function(){ Ext.Loader.setConfig({enabled:true}); }); 检查这篇文章的详细信息: - http://stackoverflow.com/questions/5715626/ext-loader-not-enabled-missing-required – jssridhar 2012-08-13 12:05:58