2011-10-03 48 views
4

enter image description hereExtJS的4 - 在网格数据中不可见

我有以下代码的简单网格(连同存储和模型的代码)。

var containerDetailsGrid = Ext.create('Ext.grid.Panel', { 
    store: storeVarContainerDetails, 
    tbar:[ 
     { 
      xtype:'tbtext', 
      text:'Container Details' 
     } 
    ], 
    columns: [ 
     { 
      header  : 'Ctr Size', 
      flex  : 1, 
      dataIndex: 'ctrSize', 
      autoExpand:true, 
      align:'center' 
     } 
    ], 
    height: 100 
}); 

var storeVarContainerDetails = Ext.create('Ext.data.Store', { 
    model: 'VoyageMonitoringContainerDetailsModel', 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost/pnc/stores.php', 
     extraParams:{ 
      action:'containerDetails' 
     }, 
     reader: { 
      type: 'json' 
     } 
    }, 
    autoLoad:true 
}); 

Ext.regModel('VoyageMonitoringContainerDetailsModel', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     {type: 'string', name: 'ctrSize'} 
    ] 
}); 

商店越来越加载和提取数据,但只是没有得到显示该数据或实际是在网格中可见。

当我检查DOM中的网格元素时,我可以看到数据在网格表的'td'中,但是这些数据没有显示出来。

页面上还有其他网格,但除此之外,所有网格都显示数据。另外,控制台也没有错误。

任何人都可以请指出这一点,为什么它可能会发生?附件是更清晰的屏幕截图。

PS:我正在使用ExtJS 4.

+1

我已经能够找到背后的原因。当我将这个网格当作一个容器中的一个项目时,数据没有显示出来,但是如果我把这个网格作为一个表单中的一个项目,那么这个数据就会显示出来。虽然这个问题现在已经解决了,但是谁能分享这种行为背后的原因? – netemp

+0

Hello Netemp,当我在Store数据中显示硬编码数据时,我遇到了将数据加载到网格的问题,但是当我使用代码与服务器数据进行通信时,不显示可以帮助我吗? – Ram

+0

我有服务这样的http://本地主机:8080/Petcrumbs /构件/ getMemberList 请求参数: { “PAGENUMBER”:5} 响应成功: { “listOfMembers”: [ { “姓名” : “测试Mmber4”, “密码”: “287974”, “性别”: “男性”, “joinedDate”: “2013年9月17日” } ], “消息”:“会员成功检索“, ”成功“:真 } – Ram

回答

1

发布的解决方案作为一个答案在这里,以便它可以帮助别人寻找同样的,也可以作为回答我可以标记这个问题。解决方案是 - 不应将网格作为表单中容器的子节点,而应该是表单中字段集的子节点。我不知道背后的原因,但适合我。希望这可以帮助别人。

0

你在商店试过这个吗?

 autoLoad :true 
+0

那么,autoLoad:true就在那里。另外,正如我在上面的评论中提到的,尽管我一直无法确定导致它的原因的确切原因,但我一直能够解决这个问题。 – netemp