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