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

それを機能させるために2つのことをします。

  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 に答える