extjs4 - 存储中的批量插入会导致性能问题

时间:2011-11-25 20:27:15

标签: grid extjs4 store suspend

从网格中复制行并在开始时插入相同的网格(插入位置0)。

只要达到超过10行,就会导致性能问题。我开始使用

store.suspendEvents(true); foreach(..) { r = ... store.insert(0, r); } store.resumeEvents();

它提高了性能,因为网格不再随着商店中每行插入而刷新。但是由于某种原因,它会在索引商店中的行时抛出异常。我认为因为商店活动暂停,所以它处于一种糟糕的状态。

FYI。它再次在最后一行中添加第二行,它会抛出异常消息。

欢迎任何其他关于如何以任何其他方式处理这种情况的建议。

1 个答案:

答案 0 :(得分:0)

您应该创建一个商店,然后让网格使用该商店。然后,您可以根据需要管理商店,数据将自动提供给网格。类似的东西:

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,
    ...
});