3

我正在使用 GridHeaderFilter 插件(http://www.sencha.com/forum/showthread.php?150918-Grid-Header-Filters

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 回答 1

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();
    
于 2012-11-20T20:35:31.247 回答