2012-02-01 4 views
0

Есть ли способ показать столбцы только тогда, когда у них есть данные?EXT JS 3.0 Grid, Показать столбец, когда данные не пустые

var grid = new Ext.grid.GridPanel({ 
    width:938, 
    height:auto, 
    store: store, 
    renderTo: 'Div', 

    // grid columns 
    columns:[ 
     {coloum1}, 
     {coloum2}, 
     {coloum3}, 
     {coloum4} ] }}; 

// Показывать только столбец, когда у него есть данные

+0

Вы имеете в виду, когда конкретный столбец не имеет данных в нем, тогда столбец не должен быть видимым справа? –

+0

@Varun Achar yes – user1158628

ответ

0

В магазине конфигурации использовать load событие.

var myStore = new JsonStore({ 

.. config.. 
listener : 
{ 
    'load': function(){ 

     /* 
      Code to check if the column data is empty - returns true/false 
     */ 
     if(isEmpty) 
     { 
      mygrid.getColumnModel().setHidden(colIndex,true); 
     } 

} 

}); 

Соответствующий API документ here

Это слепое кодирование и написано без тестирования. Но это должно сработать.

+0

Как прокрутить записи в хранилище, чтобы узнать, не является ли конкретный coloum пустым. – user1158628

+0

Декодируйте 'json' и превратите' json' в объект. Используйте метод [hasOwnProperty] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty), чтобы проверить, имеет ли объект свойство с тем же именем, которое используется в json для сопоставления столбцов сетка. –