0

我已经按照这些示例设置了一个 MVC 风格的应用程序,该应用程序带有一个网格,该网格从商店中的一个数组中获取其数据。

渲染网格时,会显示列,但行是空的。存储数据数组中的空行数始终与记录数一样多,但字段为空白。

这是我的看法

Ext.define('MyLodge.view.content.MemberGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.membergrid',

    initComponent: function(){

        var store = Ext.create('MyLodge.store.Members');

        Ext.apply(this, {
            height: this.height,
            store: store,
            stripeRows: true,
            columnLines: true,
            columns: [{
                id       :'name',
                text   : 'Name',
                flex: 1,
                sortable : true,
                dataIndex: 'name'
            },{
                text   : 'E-Mail',
                width    : 150,
                sortable : true,
                dataIndex: 'email'
            },{
                text   : 'Href',
                width    : 200,
                sortable : true,
                dataIndex: 'href'
            }]
        });

        this.callParent(arguments);
    }
});

这是我的模型:

Ext.define('MyLodge.model.Member', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'name'},
        {name: 'email'},
        {name: 'href'}
    ]
});

这是我的商店:

Ext.define('MyLodge.store.Members', {
    extend: 'Ext.data.ArrayStore',
    model: 'MyLodge.model.Member',
    data: [
           {name: 'Kevin Lippiatt', email: 'kevin@email.com', href: 'http://blah.com/kevin'},
           {name: 'Phillip Morris', email: 'phill@yahoo.co.uk', href: 'http://blah.com/phillip'},
           {name: 'A N Other', email: 'email@domain.com', href: 'http://blah.com/other'}
    ]
});

我在网格中得到三个空白行。

4

1 回答 1

2

Ext.data.Store您的商店应该从不扩展ArrayStore

这是一个小提琴:

http://jsfiddle.net/yVmQd/223/

于 2013-02-21T11:10:46.163 回答