ExtJs4 - Что является эквивалентом сетки ColumnModel? - PullRequest
9 голосов
/ 18 мая 2011

Что эквивалентно ExtJs3 Ext.grid.ColumnModel в ExtJs4?

Что я хочу сделать, это скрыть столбец, я сделал что-то вроде ниже в ExtJs3:

grid.colModel.setHidden(1, true);

Ответы [ 4 ]

16 голосов
/ 18 мая 2011

Вы можете скрыть / показать столбец, используя метод setVisible Ext.grid.column.Column:

grid.columns[1].setVisible(false);
3 голосов
/ 14 сентября 2012

Другие ответы могут быть проблематичными, если ваши индексы столбцов изменяются.

Вот еще одно решение:

Установить itemId для определения столбца:

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

Затем, чтобы скрыть:

grid.down('#myActionColumn').hide();
2 голосов
/ 20 мая 2011

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()
0 голосов
/ 17 апреля 2015

Другое решение более гибкое:

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

Вы можете изменить dataIndex для другого свойства, например name или любого другого.

...