Я пытаюсь реализовать сетку с группировкой аналогично этому примеру: http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/groupgrid.html Здесь данные сгруппированы по колонке «Кухня» и сортировки по этой колонке сортировки групп соответственно. Когда я вставляю код этого примера в проект, который использует 4.2.1, или в редакторе кода на сайте сторонних сайтов ExtJS 4.2.1, вид точно такой же, сортировка работает для столбца «Имя», но это не работа по колонке «Кухня». Удалили ли они сортировку по столбцу группировки в 4.2.1? Если нет, как заставить его работать?сетки группировки и сортировки в ExtJS 4.2.1
1
A
ответ
1
Тот же пример приведен в 4.2.1 SDK, и, действительно, сортировка по сгруппированной колонке больше не работает. Звучит как регресс для меня, вы должны уведомить Сенчу.
Edit:
Вот код метода Ext.data.Store#sort
, который изменился. Восстановление предыдущей версии фиксирует поведение (см моих комментариев, чтобы найти измененные строки):
Ext.define(null, {
override: 'Ext.data.Store'
,sort: function(sorters, direction, where, doSort) {
var me = this,
sorter,
newSorters;
if (Ext.isArray(sorters)) {
doSort = where;
where = direction;
newSorters = sorters;
}
else if (Ext.isObject(sorters)) {
doSort = where;
where = direction;
newSorters = [sorters];
}
else if (Ext.isString(sorters)) {
sorter = me.sorters.get(sorters);
if (!sorter) {
sorter = {
property : sorters,
direction: direction
};
newSorters = [sorter];
}
else if (direction === undefined) {
sorter.toggle();
}
else {
sorter.setDirection(direction);
}
}
if (newSorters && newSorters.length) {
newSorters = me.decodeSorters(newSorters);
if (Ext.isString(where)) {
if (where === 'prepend') {
// <code from 4.2.1>
// me.sorters.insert(0, newSorters);
// </code from 4.2.1>
// <code from 4.2.0>
sorters = me.sorters.clone().items;
me.sorters.clear();
me.sorters.addAll(newSorters);
me.sorters.addAll(sorters);
// </code from 4.2.0>
}
else {
me.sorters.addAll(newSorters);
}
}
else {
me.sorters.clear();
me.sorters.addAll(newSorters);
}
}
if (doSort !== false) {
me.fireEvent('beforesort', me, newSorters);
me.onBeforeSort(newSorters);
sorters = me.sorters.items;
if (sorters.length) {
me.doSort(me.generateComparator());
}
}
}
});
1
установить sortable: true
либо на defaults
конфигураций для столбца группировки или в виде конфигурации на детях самих колонок. например
{
// NOTE: these two are grouped columns
text: 'Close',
columns: [{
text: 'Value',
minWidth: 100,
flex: 100,
sortable: true,
dataIndex: 'ValueHeld_End'
}, {
text: 'Total',
minWidth: 110,
flex: 110,
sortable: true,
dataIndex: 'TotalPnL'
}]
}
Смежные вопросы
- 1. Резюме группировки сетки Extjs
- 2. ExtJS 4.2.1 поле сетки с подсказкой
- 3. Extjs 4.2.1 - Маска сетки не скроет
- 4. Флажок для группового заголовка сетки группировки extjs
- 5. ExtJS сетки с расчетами для описания группировки
- 6. Extjs генератор пользовательских ID разбивает сетки группировки
- 7. Сводка группировки сетки Extjs итоговое событие
- 8. ExtJS 4.2.3 Ошибка группировки
- 9. Точки сортировки и группировки
- 10. Проблема группировки и сортировки
- 11. Функция сортировки и группировки
- 12. Функция группировки элементов сетки ExtJs 4.1, позволяющая и отключая проблему
- 13. ExtJS 4.2.1 mocking Ext.Ajax.request
- 14. Extjs- Таблица сортировки столбцов сетки нечувствительна
- 15. ExtJS 4.2.1, исчезновение дерева ...
- 16. Экземпляр сетки сортировки ExtJS строки как float
- 17. Как добавить кнопку и соответствующее событие в groupheader группировки сетки ExtJS
- 18. Как отменить событие сортировки сетки ExtJS?
- 19. ExtJS 4.2.1 в мобильных браузерах
- 20. Extjs Панели инструментов, extjs 4.2.1, Chrome, Windows
- 21. Дата сортировки и группировки JqGrid
- 22. ExtJS 4.2.1 XTemplate и subtemplates (статика)
- 23. ExtJS 4.2.1 - проблема с рефов и контроллерами
- 24. Listener afteritemexpand из ExtJS 4.2.1
- 25. ExtJS 4.2.1 Группировка функция ошибки
- 26. ExtJS 4.2.1 Маркировка оси диаграммы
- 27. ExtJS 4.2.1 Как организовать Viewport пространство
- 28. Мышь над событием на заголовке группировки сетки
- 29. ExtJS 4.2.1 - Проверка пользовательского поля формы
- 30. Выровнять текст в gridcolumn (extjs 4.2.1)
Я пробовал ваше решение, и оно работает. Спасибо. – Alexey