Скрытие заголовка столбца ExtJS Grid

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

#gridid .x-grid3-hd-row { display:none; }

Но я не хочу использовать какое-либо изменение CSS. Как сделать то же самое с помощью JavaScript?

Ответ 1

вы можете сделать это легко, добавив это в Ext.grid.GridPanel следующим образом:

hideHeaders: true

Ответ 2

Вы можете установить hideHeaders вариант конфигурации GridPanel на true. Или вы имеете в виду после рендеринга сетки?

Отредактировано: Если вы хотите изменить (или отключить) способ создания заголовка, вы также можете переопределить renderHeaders или updateHeaders с GridView. Другой способ - передать параметр templates в GridView, а значение header установлено на пустой шаблон вместо значения по умолчанию:

ts.header = new Ext.Template(
    '',
    '{cells}',
    '
'
);

Хотя реализация по умолчанию записывает заголовок в this.innerHd, а innerHd определяется как this.mainHd.dom.firstChild, а this.mainHd устанавливается в скрытое, если установлена ​​опция hideHeaders. Поэтому я ожидаю, что этот параметр повлияет и на заголовки столбцов.

Отредактировано: О какой версии ExtJS мы говорим? Я посмотрел на текущий источник, который, как я думаю, равен 3.1.

Ответ 3

просто добавьте hideHeaders: true в свою сетку. он должен работать

Ответ 4

Вы можете добавить это в определение сетки:

listeners: {
    render: function(grid) {
        grid.getView().el.select('.x-grid3-header').setStyle('display', 'none');
    }
},

Ответ 5

Обычно вы получаете это, когда кладете свою сетку в панель.

Для меня css-хаки казались плохими, и только это сработало:

preventHeaders: true

См. свойство здесь, в документах.