Grid extjs4-存储区中的大容量插入导致性能问题

Grid extjs4-存储区中的大容量插入导致性能问题,grid,extjs4,store,suspend,Grid,Extjs4,Store,Suspend,复制网格中的行并在开始时插入到同一网格中(在位置0处插入) 一旦点击超过10行,就会导致性能问题。我开始使用 store.suspendEvents(真); foreach(…) { r=。。。 存储。插入(0,r); } store.resumeEvents(); 它提高了性能,因为存储中的每一行插入都不再刷新网格。但是由于某些原因,它在索引存储中的行时引发异常。我认为因为商店活动暂停,它处于某种不好的状态 仅供参考。它再次在最后一行中添加第二行,在该行中抛出异常消息 欢迎就如何以任何其他方

复制网格中的行并在开始时插入到同一网格中(在位置0处插入)

一旦点击超过10行,就会导致性能问题。我开始使用

store.suspendEvents(真);
foreach(…)
{
r=。。。
存储。插入(0,r);
}
store.resumeEvents();

它提高了性能,因为存储中的每一行插入都不再刷新网格。但是由于某些原因,它在索引存储中的行时引发异常。我认为因为商店活动暂停,它处于某种不好的状态

仅供参考。它再次在最后一行中添加第二行,在该行中抛出异常消息


欢迎就如何以任何其他方式处理这种情况提出任何其他建议。

您应该创建一个存储,然后让网格使用该存储。然后,您可以根据需要管理存储,数据将自动提供给网格。比如:

var the_store = Ext.create('My.store.Foo', { 
    extend: 'Ext.data.Store',
    fields: ['id','name'],
    ...
    proxy: {
        ...
    }
});

var the_grid = Ext.create('My.view.Grid', {
    extend: 'Ext.grid.Panel',
    ...
    store: the_store,
    ...
});

为什么不想将所有数据一次放入存储?我怎么做?我必须应用一些逻辑来提取行。如果网格中有3行,并按“复制”按钮,则需要检查某些标志,并根据该标志,如果发现为真,则复制这些行并逐个将其插入第0个位置。。