Extjs 4.1 - 如何将数据从商店加载到另一个商店

时间:2013-08-03 01:44:36

标签: extjs extjs4.1

我有store1 autoLoad:true

           store1 = Ext.create('Ext.data.Store', {
        fields: ['id', 'name'],
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: 'example.php',
            reader: {
                type: 'json',
                root: 'results'    // see json output                         
            }
        }
    });

我的网格有store2 autoload:false

           store2 = Ext.create('Ext.data.Store', {
        fields: ['id', 'name'],
        autoLoad: false,
        proxy: {
            type: 'ajax',
            url: 'example.php',
            reader: {
                type: 'json',
                root: 'results'    // see json output                         
            }
        }
    });

我不想再次加载store2。我想从store1得到像

grid.store2.loadData(store1.data) // fail

但是如何做到这一点谢谢

2 个答案:

答案 0 :(得分:1)

你可以从商店的load活动中受益,尝试这样的事情:

store1.addListener('load', function(records, operation, success) {
   if(success) {
      var obj = new Object();
      obj.success = true;
      obj.results = records;
      grid.store2.loadData(obj);
   }
});

答案 1 :(得分:0)

您可以在代码之前添加。 sortOnLoad = FALSE;

grid.store2.sortOnLoad=false
grid.store2.loadData(store1.data) // fail