[英]PagingMemory Proxy is not getting refreshed when the store is updated using removeAt(rowindex)
[英]Extjs: Delete Row from store-> store.removeAt(RowIndex)
我在GridPanel中的商店中有一堆RowIndexes。 我想从我的商店删除这些。 如果我只有一个,没问题,网格的视图是refrsehd,唯一的条目是。
但是当我有超过0时,例如10个RowIndexes,我就像这里一样循环...
for(rowIndex in indexes)
{
store.removeAt(indexes[rowIndex]);
}
...只从网格中删除了几个条目。 我觉得循环太快了? 我已经暂停了它,但是也没有用。 有没有人有想法? 谢谢!!!
我会尝试以相反的顺序删除行。 你试过吗? 就像是
var i = indexes.length - 1;
for (; i >= 0; i--){
store.removeAt(indexes[i]);
}
我知道答案已被接受,但我想我会补充说,每次调用Ext.data.Store#removeAt
为每个索引调用Ext.data.Store#removeAt
都会触发一个datachanged
事件。 如果您有datachanged
侦听器,则可能会遇到性能问题或意外行为。 由于removeAt(index)
只是remove(getAt(index))
一个方便的别名,所以你可以这样做。
function batchRemoveAt(store, indexes) {
var records = Ext.Array.map(indexes, function (index) {
return store.getAt(index);
});
store.remove(records);
}
这将为整个删除触发单个datachanged
事件,并为每个删除的记录触发单个remove
事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.