Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2017, 09:48
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Баги группировки Grid по полю
Всем привет!

Обнаружил странную проблему при группировке по полю.
Прописываю поле в 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 не оставит данный пост без внимания
Изображения:
Тип файла: jpg extjs_group.jpg (95.3 Кб, 7 просмотров)

Последний раз редактировалось Sogl, 03.02.2017 в 09:50.
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2017, 11:52
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Сделайте наглядный пример в Fiddle
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2017, 04:51
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Сообщение от kolka Посмотреть сообщение
Сделайте наглядный пример в Fiddle
+1, гадание на кофейной гуще редко приносит полезные результаты.
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2017, 03:06
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Наконец сделал 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
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2017, 03:51
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Неужели никто не сталкивался?
Ответить с цитированием
  #6 (permalink)  
Старый 06.03.2017, 02:26
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Вот так работает
https://fiddle.sencha.com/#view/editor&fiddle/1re5
Закомментировал 45-ю строку
//remoteSort: true,
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2017, 09:45
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Ну оно так работает, конечно, но все же мне нужна сортировка на сервере. Я отправляю на бекенд необходимые данные, а в ответ уже весь массив данных отсортированный приходит.
Уже не помню какой глюк был неудобный с сортировкой на клиенте, из-за чего оказалось проще использовать `remoteSort: true`.
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2017, 10:56
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

1) по крайней мере видно, где скрыт баг. Посмотрите исходные коды. Сделайте патч.
2) возможно это проблема песочницы, надо проверить код вне песочницы
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #9 (permalink)  
Старый 20.03.2017, 04:45
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Сообщение от khusamov Посмотреть сообщение
2) возможно это проблема песочницы, надо проверить код вне песочницы
Баг изначально найден вне песочницы, т к я пишу все же не в ней. Далее уже тут мне предложили воспроизвести в Fiddle, что я и сделал.
Ответить с цитированием
  #10 (permalink)  
Старый 20.03.2017, 10:10
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Тогда надо копать код плагина features: [{ftype:'grouping'}],
Похоже будет жестко
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать irregular grid в regular grid Svm Общие вопросы Javascript 0 26.08.2015 10:53
Событие при клике по полю в Grid demi ExtJS 1 13.07.2013 14:12
Проблема с загрузкой Store в grid (c группировкой) AndreiVadimovich ExtJS 1 03.10.2011 08:29
Использование combobox поля в grid dionic ExtJS 0 26.05.2011 14:12
Выделит row в grid mycoding ExtJS 1 29.07.2010 15:28