ExtJs4-что эквивалентно ColumnModel сетки?

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

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

grid.colModel.setHidden(1, true);

4 ответов


вы можете Скрыть/показать столбец с помощью метода setVisible Ext.сетка.колонна.Колонка:

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

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

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

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

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

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

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

ВН.сетка.заголовок.Контейнер

код Ext.панель.Таблица:

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

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

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

вы можете изменить dataIndex для другого свойства, такого как name или что-то еще.