代码之家  ›  专栏  ›  技术社区  ›  roundcrisis

如何使用MemoryProxy将数据加载到存储中

  •  6
  • roundcrisis  · 技术社区  · 16 年前

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

    有什么建议吗?

    3 回复  |  直到 10 年前
        1
  •  5
  •   roundcrisis    16 年前

    所以我错过了Arrayreader 我修改了extjs附带的arrray示例,将arrayStore替换为以下内容

     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的某个地方,因为我找不到任何内存代理工作的东西

        2
  •  4
  •   Felix    12 年前

    这是我的简易商店。一应俱全,可以立即加载对象数组;-)

    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"));
    
        3
  •  0
  •   j0k gauthamp    13 年前

    autoLoad: true,