Задать вопрос

Как динамически скрыть заголовки в гриде ExtJs?

Всем привет. Есть Grid на ExtJs (5.1.3).
В нем могут быть данные, а могут и не быть :)
В гриде есть колонки с заголовками. И есть опция `hideHeaders`, которая позволяет скрывать названия колонок в гриде.
Мне нужно при наличии данных в гриде показывать эти заголовки, при отсутствии скрывать.

По умолчанию заголовки скрыты. Пытался на момент когда стор загрузился, и есть данные. манипулировать но не вышло..
...
constructor: function(config) {
        var store = Ext.create('Giggster.modules.home.store.BufferedGigg', {
            // leadingBufferZone: Giggster.constants.HOME.GRID_PAGE_SIZE
        });

        store.on('load', function(st) {
            if (store.data.length > 0){
               this.hideHeaders = false;
            } 
        }, this);

        this.callParent([
            Ext.applyIf(config || {}, {
                store: store,
                cls: 'add-create-to-job-grid',
                hideHeaders: true,
....
  • Вопрос задан
  • 290 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dionic
Крайне подвижный программист...
Так ка Вы делаете не получится, так как hideHeaders - это конфигурационный параметр и его изменение в событии загрузки store уже никак не повлияет на отображение колонок, так как он используется в методе initComponent на момент построения компонента. Точно не уверен, ноя бы попробовал получить доступ к компоненту header этого грида и уже его скрывал методом hide. Еще можно глянуть как этот конфигурационный параметр используется в самом гриде в initComponent, а точнее в его родителе (docs.sencha.com/extjs/5.1.4/api/src/Table.js-2.htm...
Получился ответ не с решением, а так может с наводкой на мысль...=)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы