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

发布于 2024-12-07 17:47:28 字数 1267 浏览 0 评论 0原文

在此处输入图像描述

我有一个简单的网格,其中包含以下代码(以及商店和型号的代码)。

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。

enter image description here

I have a simple grid with the following code (along with the code of store and model).

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'}
    ]
});

The store is getting loaded and fetching the data but this data is just not getting displayed or actually is being visible in the grid.

When I inspect the grid element in DOM, then I can see the data to be there in 'td' of grid table, but that data is just not getting displayed.

There are other grids too on the page but all are displaying the data except this one. Also, there is no error being throw in console too.

Could anyone please throw some light at this that why it could be happening? Attached is a screen shot for more clarity.

PS: I am using ExtJS 4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

上课铃就是安魂曲 2024-12-14 17:47:29

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

Posting the solution as an answer here so that it can help someone looking for the same and also I can mark this question as answered. The solution is - a grid should not be made the child of a container in a form, rather should be the child of fieldset in the form. I don't know the reason behind this, but works well for me. Hope this helps someone else too.

谈场末日恋爱 2024-12-14 17:47:29

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

      autoLoad :true

Did you try this on your store ?

      autoLoad :true
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文