В ExtJs 5 при добавлении новой строки в сетку, которая уже отсортирована, новая строка никогда не добавляется в верхнюю часть сетки. Возможно ли, чтобы хранилище игнорировало фантомную запись во время сортировки и всегда добавляло ее в верхнюю/или любую другую позицию, которую мы укажем?ExtJs 5 Сортировка сетки фантомными записями
ответ
Нет. Обоснование, которое я прочитал, состоит в том, что это намеренно, потому что хранилище может быть либо сортировано, либо несортировано, а не какое-либо промежуточное состояние (ответ на сортировку хранилища должен быть «истинным» или «ложным» «). Если в магазине есть сортировщики, он будет организован. Сенча не будет изменять это поведение.
Это не идеальный вариант, но прежде чем добавлять записи в магазин, я удалю существующие сортировщики. Это несчастливо, но это быстро, легко и не легко заметно для пользователя. Удаление существующих сортировщиков не перетаскивает строки сетки (так как вы не применяете какую-либо новую функцию сортировки). Таким образом, сетка будет по-прежнему отображаться для сортировки, просто не применяемой.
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: ложные
Я думаю, это один простой способ вокруг. – Yellen
Существует еще один вариант. :) – Yellen
Мы должны добавить следующие объекты в магазин: autoSort: false – Yellen