如何使用MemoryProxy将数据加载到商店中

问题描述:

我想使用MemoryProxy加载JSON存储(我需要使用代理,因为我根据场景使用不同的源代码)。这有点类似于:如何使用MemoryProxy将数据加载到商店中

var data = Ext.decode(gridArrayData); 
var proxy = new Ext.data.MemoryProxy(data); 

var store = new Ext.data.GroupingStore({    
    proxy: proxy 
}); 
store.load(); 

然而,当我检查这个我可以看到,该代理具有10行数据,而不是存储。我失去了为什么。

任何指针?

+0

什么ExtJS的版本加载JSON是这样的? – Meredith 2013-12-31 01:07:52

,所以我错过了Arrayreader 我修改附带ExtJS的有以下

var nameRecord = Ext.data.Record.create([        
     {name: 'company'}, 
     {name: 'price', type: 'float'}, 
     {name: 'change', type: 'float'}, 
     {name: 'pctChange', type: 'float'}, 
     {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'} 
]); 

var arrayReader = new Ext.data.ArrayReader({}, nameRecord);   

var memoryProxy = new Ext.data.MemoryProxy(myData);    

var storeDos = new Ext.data.Store({          
    reader : arrayReader, 
    autoLoad: true, 
    proxy : memoryProxy 
}); 

我想将工作拷贝某处github上的更换arrayStore,因为我无法找到任何东西arrray例子有工作

+0

工作的Github副本会很酷 – Meredith 2013-12-31 01:07:21

在所有的示例内存代理他们错过了把

autoLoad: true, 

这是我简单的商店。 All in one的,并准备加载对象的数组马上;-)

Ext.define('MemoryStore', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'Ext.data.proxy.Memory' 
    ], 

    fields: [{name: 'company'}], 

    proxy: { 
     type: 'memory' 
    } 
}); 

创建商店后,您可以通过loadData

var store = Ext.create("MemoryStore"); 
store.loadData([ 
    {company:"Skynet"}, 
    {company:"Rocket-Solutions"}, 
]); 

console.debug(store.first().get("name"));