EXTJS4 gridpanel中getColumnModel动态的显示/隐藏某个列

在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();

你可能感兴趣的:(extjs4)