2010-01-06 3 views
10

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

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

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

ответ

19

вы можете сделать это легко с добавлением это Ext.grid.GridPanel этим способом:

hideHeaders: true 
10

Вы можете установить hideHeaders configuration option of the 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 мы говорим? Я посмотрел на the current source, что я, наверное, 3.1.

+0

hideHeader Option предназначен только для заголовка Grid's Header. Я спросил о заголовке столбца Grid – Madhu

+0

Я обновил свой ответ другим способом. –

4

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

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

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

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

preventHeaders: true 

Смотреть свойство here in the docs.

6

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

Смежные вопросы