2012-11-20 42 views
3

後我使用GridHeaderFilter插件(http://www.sencha.com/forum/showthread.php?150918-Grid-Header-Filters如何添加動態插件在Ext JS中網格柵加載

var testGrid = new Ext.grid.GridPanel({ 
    frame: true, 
    minHeight: 200, 
    plugins: [new Ext.ux.grid.GridHeaderFilters()], 
    columns : [{ 
     text : 'Test Id', 
     sortable : true, 
     dataIndex : 'testId', 
     filter: { 
      xtype: 'textfield', 
      type: 'string' 
     } 
    },     
}); 

,但是當我動態地添加一些列到這個網格和使用 grid.reconfigure(NULL, newColumns []);

新列被反射,但GridHeaderPlugin被消失。

試過這個http://www.sencha.com/forum/showthread.php?124179-Dynamically-adding-plugins-to-grid並沒有幫助。

回答

4

要做的兩件事情使它工作。

  1. 首先同時加入了插件,分配插件作爲

    var grid = Ext.create('Ext.grid.Panel',{ 
        plugins:[Ext.create('Ext.ux.grid.GridHeaderFilters', { 
         clicksToEdit: 2, 
         pluginId:'gridHeaderPlugin' 
        })] 
    }); 
    
  2. 而做動態列和運行重新配置和renderFilters()

    grid.reconfigure(null, newColumns[]); 
    grid.getPlugin('gridheaderfilters').renderFilters();