如何将一些数据加载到Ext.data.Store中

时间:2012-11-21 06:33:32

标签: extjs

这是我的代码

        var store = {
            roles_store: new Ext.data.Store({
                        autoLoad: false,
                        proxy: new Ext.data.HttpProxy({
                                                        url: 'a/b/c',
                                                      }),
                        remoteSort: true, 
                        baseParams: {

                                    },
                        reader: new Ext.data.JsonReader({
                                                totalProperty: 'total',
                                                root: 'root',
                                                fields:['roles']                
                                                        }),

            })
        };

这是我的json

{ “总”:3, “根”:[{ “角色”: “A”},{ “角色”: “B”},{ “角色”: “C”}]}

如果我想将数据添加到Ext.data.Store中。我能怎么做?

(PS:对不起,我的英语不太好。我的extjs是:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-method- addSorted)

1 个答案:

答案 0 :(得分:2)

这应该有效:

Ext.define('roles', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'roles', type: 'string'}
    ]
});

var myStore = Ext.create('Ext.data.Store', {
    model: 'roles',
    proxy: {
        type: 'ajax',
        url : 'path/to/data/test.json',
        reader: {
            type: 'json',
            root: 'root',
            totalProperty: 'total'
        }
    },
    autoLoad: true
});

查看以下示例:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store

对于v3.4:

var store = new Ext.data.JsonStore({

    autoDestroy: true,
    url: 'path/to/data/test.json',
    storeId: 'myStore',
    autoLoad: true,
    idProperty: 'roles',
    root: 'root',
    fields: ['roles'] 
});

您需要使用jsonstore: http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.JsonStore