首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Extjs将本地JSON对象加载到网格中

Extjs将本地JSON对象加载到网格中
EN

Stack Overflow用户
提问于 2012-05-18 13:41:49
回答 2查看 4.2K关注 0票数 2

我刚接触Ext,并尝试在Grid上使用各种选项。我已经创建了一个网格并将其添加到面板(Ext.panel.Panel)。网格显示为空数据(我还没有给它添加代理)。在某个事件发生时,我构造一个JSON对象并在网格上触发loadData

以下是我的代码片段。

代码语言:javascript
复制
Ext.define('AM.view.grid.Details', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.details',
    title: 'Widget Data',

    store: {
        autolaod: true,
        fields: [{
            name: 'widgetid',
            mapping: 'widget_id',
            type: 'string'
        }, {
            name: 'widgetname',
            mapping: 'widget_name',
            type: 'string'
        }, {
            name: 'widgetnotes',
            mapping: 'widget_notes',
            type: 'String'
        }],
        reader: {
            type: 'json'
        }
    },
    width: 620,
    height: 400,

    forceFit: true,
    columns: [{
        header: 'id',
        dataIndex: 'widgetid',
        hidden: true
    }, {
        header: 'Name',
        dataIndex: 'widgetname',
        width: 150
    }, {
        header: 'Note',
        dataIndex: 'widgetnotes',
        width: 150
    }],

    renderTo: Ext.getBody()
});

我有一个函数,它是另一个小部件的回调函数。当事件发生时,此函数为getTriggered。

代码语言:javascript
复制
function someFunction(grid) {
    var jsonData = formGridData();
    grid.store.loadData(jsonData);
}

请假设网格已创建,并且我有函数formGridData(),它将格式字符串转换为JSON对象并返回。

因此,当我运行应用程序时,如果jsonData的长度为5,那么网格中就会出现5个空行。

以下是JSONData

代码语言:javascript
复制
[{
    'widget_id':    'widget-1',
    'widget_name':  'gridpanel',
    'widget_notes': 'This is used to handle..'
}, {
    'widget_id':    'widget-2',
    'widget_name':  'combo',
    'widget_note':  'This is used to handle..'
}, {
    'widget_id':    'widget-3',
    'widget_name':  'panel',
    'widget_note':  'This is used to handle..'
}]

我做的事有什么问题吗?

谢谢,

Phani

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-18 18:07:43

网格上的dataIndexes是错误的。

代码语言:javascript
复制
columns: [{
    header: 'id',
    dataIndex: 'widget_id', //was widgetid
    hidden: true
}, {
    header: 'Name',
    dataIndex: 'widget_name', //was widgetname
    width: 150
}, {
    header: 'Note',
    dataIndex: 'widget_notes',  //was widgetnotes
    width: 150
}]

实际情况是,它看到了适当数量的行,但由于您以json为例,将其命名为widget_*和note widget*,因此它认为它们是其他东西,因此不能在网格中适当地显示它们。

票数 2
EN

Stack Overflow用户

发布于 2012-05-18 16:52:54

抱歉,我没注意到

所以你的dataIndex似乎是无效的

http://jsfiddle.net/ssxenon01/WpZMU/8/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10647278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档