存储已加载,网格呈现行但未显示数据

时间:2014-09-23 18:41:51

标签: javascript extjs

这是一个网格:

Ext.define('Customer_Portal_UI.view.BulkUpdateResultWindow.ResultGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.ResultGrid',
    itemId: 'ResultGrid',
    columns: [
        { text: 'Participant', mapping: 'firstname' },
        { text: 'Success', mapping: 'success' },
        { text: 'Status', mapping: 'statusMessage' }
    ],
    viewConfig: { itemId: 'ResultGridView' },
    initComponent: function () {
        this.store = Ext.create('Ext.data.ArrayStore', {
            storeId: 'ResultGridStore',
            idProperty: 'contactid',
            fields: [
                'firstname',
                'success',
                'statusMessage',
               'contactid'
            ]
        });

        this.callParent();

    }
});

这是我尝试加载它的方法:

var grid = this.Utils.getCmp('gridpanel[itemId=ResultGrid]');
var store = grid.getStore();
var response = Ext.JSON.decode(result.responseText);

for (var i = 0; i < response.length; i++) {
    store.add({ firstname: response[i].contact.firstname, success: response[i].success, statusMessage: response[i].statusMessage, contactid: response[i].contact.contactid });
}

如果我在for循环之后进入控制台,则加载商店。如果我在网格上调用getStore(),它的商店也包含数据。

但网格使用正确的行数(匹配响应中的记录数)进行渲染,但这些行为空。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

列没有mapping属性。使用dataIndex