问题
What is the equivalent to the ExtJs3 Ext.grid.ColumnModel in ExtJs4?
What I want to do is hide a column, I did something like below in ExtJs3:
grid.colModel.setHidden(1, true);
回答1:
You can hide/show column using setVisible method of Ext.grid.column.Column:
grid.columns[1].setVisible(false);
回答2:
The other answers can be problematic if your column indexes change.
Here is another solution:
Set itemId on the column definition:
{
itemId: 'myActionColumn',
xtype: 'actioncolumn',
width: 50,
items: [ ...
}
Then to hide:
grid.down('#myActionColumn').hide();
回答3:
Ext.grid.header.Container
code of Ext.panel.Table:
headerCtCfg = me.columns || me.colModel,
...
if (headerCtCfg instanceof Ext.grid.header.Container) {
me.headerCt = headerCtCfg;
me.headerCt.border = border;
me.columns = me.headerCt.items.items;
}
so u can use
grid.columns[i].hide()/show()
回答4:
Another solution more flexible :
grid.down("[dataIndex="+di+"]").setVisible(v);
You can change dataIndex for another property like name or whatever.
来源:https://stackoverflow.com/questions/6042138/extjs4-what-is-the-equivalent-to-the-grid-columnmodel