ExtJs4 - 什么是网格ColumnModel的等价物?

时间:2011-05-18 08:54:47

标签: extjs grid extjs4

与ExtJs4中的ExtJs3 Ext.grid.ColumnModel相同的是什么?

我想要做的是隐藏一个列,我在ExtJs3中执行了类似的操作:

grid.colModel.setHidden(1, true);

4 个答案:

答案 0 :(得分:16)

您可以使用Ext.grid.column.Column的setVisible方法隐藏/显示列:

grid.columns[1].setVisible(false);

答案 1 :(得分:3)

如果您的列索引发生更改,其他答案可能会出现问题。

这是另一种解决方案:

在列定义上设置itemId:

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

然后隐藏:

grid.down('#myActionColumn').hide();

答案 2 :(得分:2)

Ext.grid.header.Container

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;
}

所以你可以使用

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

答案 3 :(得分:0)

另一种解决方案更灵活:

grid.down("[dataIndex="+di+"]").setVisible(v);

您可以为dataIndex等其他属性更改name