1. 程式人生 > >EXTJS4 gridpanel中動態的顯示/隱藏某個列

EXTJS4 gridpanel中動態的顯示/隱藏某個列

在extjs3中,大家知道用

myGrid.getColumnModel().setHidden(i,true);

但到了4.0後,已經沒有getColumnModel這個方法了,我們在Ext.panel.Table看到以下片段

if (headerCtCfg instanceof Ext.grid.header.Container) {
            me.headerCt = headerCtCfg;
            me.headerCt.border = border;
            me.columns = me.headerCt.items.items;
}

也就是grid.columns已經儲存了所有的gridcolumn,不需要再去get了,呵呵

結論:

grid.columns[i].hide()/show()

或者

grid.columns[i].setVisible(false/true);

 再提供一個思路:

複製程式碼
//定義的時候在column裡給一個itemId用於查詢

{
        itemId: 'myActionColumn',
        xtype: 'actioncolumn',
        width: 50,
        items: [ ...]
}

//然後

grid.down('#myActionColumn').hide();
複製程式碼