Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Баги группировки Grid по полю (https://javascript.ru/forum/extjs/67198-bagi-gruppirovki-grid-po-polyu.html)

Sogl 03.02.2017 09:48

Баги группировки Grid по полю
 
Вложений: 1
Всем привет!

Обнаружил странную проблему при группировке по полю.
Прописываю поле в Store:
groupField: 'positionName'


Параметры базового Store, от которого все остальные наследуются:
autoLoad: true,
autoSync: true,
remoteSort: true,
remoteFilter: true,


Что получается в итоге можно посмотреть во вложении. Почему-то Ext по какому-то своему алгоритму отбирает строки для группировки, создавая кучу дублей.
Сначала грешил на сортировку, однако у меня есть проект на древнем ExtJS 2.3, в котором подобная ситуация отрабатывает корректно.

В чем может быть проблема?

Я еще использую нумератор строк (rownumberer), который в случае с группировкой становится бесполезен, т к начинает отсчет не внутри группы, а берет общий со страницы. В итоге каша. Это как-то меняется или нет?

Также все еще присутствует проблема, когда при перемещении по страницам нумерация идет с 1-цы:
https://www.sencha.com/forum/showthr...ouping-Feature

ExtJS 6.2.0.981

p.s. Надеюсь, что nohuhu не оставит данный пост без внимания :)

kolka 03.02.2017 11:52

Сделайте наглядный пример в Fiddle

nohuhu 04.02.2017 04:51

Цитата:

Сообщение от kolka (Сообщение 443061)
Сделайте наглядный пример в Fiddle

+1, гадание на кофейной гуще редко приносит полезные результаты.

Sogl 13.02.2017 03:06

Наконец сделал Fiddle.
https://fiddle.sencha.com/#view/editor&fiddle/1pu4

Какие есть проблемы:
  1. Строки таблицы не группируются нормально по столбцу, выбирая то по одному, то по два элемента. Похоже, оно работает в зависимости от порядка строк.
  2. Нумерация строк не работает внутри групп. Данное решение имеет гораздо более логичный вид, т к общее количество строк можно увидеть в pagingtoolbar.
  3. Указание в pageSize небольшого значения (например, 2) не работает. Мы получаем верное количество страниц, но количество элементов при этом остается тем же. Данный баг был принят на форуме Сенчи еще 10 октября 2015 и, видимо, так и не исправлен: https://www.sencha.com/forum/showthr...ouping-Feature

Sogl 28.02.2017 03:51

Неужели никто не сталкивался?

khusamov 06.03.2017 02:26

Вот так работает
https://fiddle.sencha.com/#view/editor&fiddle/1re5
Закомментировал 45-ю строку
//remoteSort: true,

Sogl 14.03.2017 09:45

Ну оно так работает, конечно, но все же мне нужна сортировка на сервере. Я отправляю на бекенд необходимые данные, а в ответ уже весь массив данных отсортированный приходит.
Уже не помню какой глюк был неудобный с сортировкой на клиенте, из-за чего оказалось проще использовать `remoteSort: true`.

khusamov 14.03.2017 10:56

1) по крайней мере видно, где скрыт баг. Посмотрите исходные коды. Сделайте патч.
2) возможно это проблема песочницы, надо проверить код вне песочницы

Sogl 20.03.2017 04:45

Цитата:

Сообщение от khusamov (Сообщение 447332)
2) возможно это проблема песочницы, надо проверить код вне песочницы

Баг изначально найден вне песочницы, т к я пишу все же не в ней. Далее уже тут мне предложили воспроизвести в Fiddle, что я и сделал. :)

khusamov 20.03.2017 10:10

Тогда надо копать код плагина features: [{ftype:'grouping'}],
Похоже будет жестко


Часовой пояс GMT +3, время: 16:46.