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

グリッドに3つの空白行があります。

4

1 に答える 1

2

あなたの店はから拡張する必要がExt.data.StoreありますArrayStore

これがフィドルです:

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

于 2013-02-21T11:10:46.163 に答える