使用虚拟记录的ExtJs 5网格排序

使用虚拟记录的ExtJs 5网格排序,extjs,extjs5,Extjs,Extjs5,在ExtJs 5中,当向已排序的网格添加新行时,新行永远不会添加到网格的顶部。是否可以让存储在排序过程中忽略幻影记录,并始终将其添加到顶部/或我们指定的任何位置?否。我读到的理由是,这是有意的,因为存储可以排序或不排序,而不是介于两者之间的状态(如果存储排序,答案必须是“真”或“假”)。如果商店有分拣机,它将保持有序。Sencha不会改变这种行为 这并不理想,但在我将记录添加到存储之前,我将删除现有的分类器。这是不幸的,但它是快速,简单,不容易被用户注意到。移除现有分拣机不会重新排列网格的行(因

在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)

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


:false

我想,这是一种简单的方法。还有另一种选择。:)我们应该将以下属性添加到存储:autoSort:false感谢您找到该配置!这样效果好多了。我已将项目更新为使用autoSort:false。我的回答是基于Sencha对