ExtJs 5使用幻影记录进行网格排序



在ExtJs 5中,当向已经排序的网格添加新行时,新行永远不会添加到网格的顶部。是否可以让商店在排序过程中忽略幻影记录,并始终将其添加到顶部/或我们指定的任何位置?

否。我读到的理由是,这是有意的,因为一个商店可以是排序的,也可以是未排序的,而不是介于两者之间的状态(如果一个商店被排序,答案必须是"true"或"false")。如果一家商店有分拣机,它将保持有序。森查不会改变这种行为。

这并不理想,但在将记录添加到存储之前,我将删除现有的排序器。这很不幸,但它快速、简单,而且不容易被用户注意到。删除现有的分拣机不会重新排列网格的行(因为您没有应用任何新的分拣功能)。因此,网格将继续看起来是排序的,只是没有强制执行。

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)

我们应该将以下属性添加到存储中:

autoSort:false

最新更新