ExtJS 4 - 网格中的数据不可见

Posted

技术标签:

【中文标题】ExtJS 4 - 网格中的数据不可见【英文标题】:ExtJS 4 - Data in the grid not visible 【发布时间】:2011-11-29 17:30:32 【问题描述】:

我有一个带有以下代码的简单网格(以及商店和模型的代码)。

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。

【问题讨论】:

我已经找到了这背后的原因。当我将这个网格作为表单中的一个容器项目提供时,数据没有被显示,但是如果我将此网格作为表单中的字段集的一个项目提供,那么数据将被显示。虽然问题现在已经解决了,但是谁能分享这种行为背后的原因? 你好 Netemp,我在将数据加载到网格时遇到问题,当我在 Store 中硬编码数据时显示数据,但是当我使用与服务器数据通信的代码时没有显示你能帮帮我吗? 我有这样的服务localhost:8080/Petcrumbs/member/getMemberList 请求参数:“pageNumber”:5 响应成功:“listOfMembers”:[“name”:“Test Mmber4”,“password”:“ 287974", "gender": "Male", "joinedDate": "09-17-2013" ], "message": "会员检索成功。", "success": true 在 Extjs4 中我使用了 In EXTJS Store Ext.define('PetCrumbs.store.Members', extend : 'Ext.data.ArrayStore', model : 'PetCrumbs.model.Member', autoLoad :true,//storeId:'Data',代理: type:'ajax',url:'/Petcrumbs/member/getMemberList',方法:'POST',标题:'Content-Type':'application/json ', 'Accept' : 'application/json' , jsonData : pageNumber : "5" , reader : type : 'json', root: 'listOfMembers', successProperty: 'success' );请帮我看看上面的代码有什么问题? @Ram:我建议您将您的问题作为一个新问题发布,因为您面临的问题不同。另外,在问题中添加一些代码,以便您得到帮助。 【参考方案1】:

在此处发布解决方案作为答案,以便它可以帮助寻找相同问题的人,而且我可以将此问题标记为已回答。解决方案是 - 网格不应成为表单中容器的子级,而应成为表单中 fieldset 的子级。我不知道这背后的原因,但对我来说效果很好。希望这对其他人也有帮助。

【讨论】:

【参考方案2】:

你在你的商店试过这个吗?

      autoLoad :true

【讨论】:

好吧,autoLoad:true 就在那里。此外,正如我在上面的评论中提到的,我已经能够解决这个问题,尽管我无法确定导致它的确切原因。

以上是关于ExtJS 4 - 网格中的数据不可见的主要内容,如果未能解决你的问题,请参考以下文章

extjs 4.1.1 - 本地数据网格中的分页

为啥单击 ExtJS 4 网格面板操作列中的图标不选择行?

Ext JS 4.1:网格列中的渲染器参数不起作用

如果网格为空,Extjs 4 禁用排序

如何在 ExtJS 4.1 中禁用网格中的某些行

Extjs 4,如何使用单个 Json 文件为多个动态网格发送多个元数据