2012-02-01 28 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

你的意思是當一個特定的列沒有數據時,那麼該列不應該是正確的? – 2012-02-01 17:12:42

+0

@Varun Achar是 – user1158628 2012-02-01 17:15:13

回答

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 2012-02-14 19:22:52

+0

解碼'json'並將'json'變成一個對象。使用方法[hasOwnProperty](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty)來檢查對象是否具有與json到列映射中使用的名稱相同的屬性格。 – 2012-02-15 17:18:52