【发布时间】:2015-06-07 18:25:27
【问题描述】:
在 ExtJs 5 中,在向已排序的网格添加新行时,新行永远不会添加到网格的顶部。是否有可能让存储在排序期间忽略虚拟记录并始终将其添加到顶部/或我们指定的任何位置?
【问题讨论】:
在 ExtJs 5 中,在向已排序的网格添加新行时,新行永远不会添加到网格的顶部。是否有可能让存储在排序期间忽略虚拟记录并始终将其添加到顶部/或我们指定的任何位置?
【问题讨论】:
没有。我读过的理由是这是故意的,因为商店可以排序或未排序,而不是某种中间状态(商店是否排序的答案必须是“真”或“假”)。如果商店有分拣机,它将保持井井有条。 Sencha 不会改变这种行为。
这并不理想,但在将记录添加到商店之前,我将删除现有的排序器。这很不幸,但它快速、简单且不易被用户注意到。删除现有的排序器不会重新排列网格的行(因为您没有应用任何新的排序功能)。因此,网格将继续显示为已排序,只是未强制执行。
var store = myStore,
sorters = store.getSorters();
if (sorters.getCount()) {
console.log('[' + store.$className + '] Removed Existing Sorters', {
store: store,
sorters: sorters
});
sorters.removeAll();
store.fireEvent('refresh', store); // will remove sort icon from grid column headers
}
store.insert(newRowIndex, newRec)
【讨论】:
我们应该在 store 中添加以下属性:
autoSort: 假
【讨论】: