2012-02-01 7 views
1

Я хочу вызвать метод контейнера заголовка getGridColumns(), но я не получаю доступ к контейнеру заголовка сетки. Я пробовал следующее:Доступ к контейнеру заголовка в Extjs4

initComponent : function() { 
      var grid = this; 

    var headerCt = grid.getView.getHeaderCt(); //here 
    var menuItems = new Array(); 
    menuItems = headerCt.getGridColumns(true); 
       ... 
} 

но это не работает. Это дает мне ошибку, поскольку «Объект не поддерживает это свойство или метод». Какие-либо предложения?

+2

просто быстрая мысль: var headerCt = grid.getView(). GetHeaderCt(); вы пропустили() в getView –

+0

@bhakti waghmare У меня есть сомнения, если у вас есть разрешение на чат [смотрите это] (http://chat.stackoverflow.com/rooms/7451/extjs-3-x-4-x-java- скрипт-структура) –

ответ

0

Я смог удовлетворить большинство своих потребностей, чтобы получить доступ к контейнеру заголовков сетки, установив прослушиватели при определении столбцов сетки (путем передачи в объект вместо массива). Затем задайте свой массив столбцов в элементах объекта columns. Например:

Ext.create('Ext.grid.Panel', { 
    ..., 
    columns : { 
    listeners : { 
     boxready : function(headerCt) { 
     console.log(headerCt); 
     } 
    }, 
    items : [] 
    }, 
    ... 
}); 

После того, как у вас есть headerCt, то вы можете позвонить getGridColumns() или getVisibleGridColumns(). Надеюсь, это поможет.

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