Комментарии 9
Очень здорово! Вмемориз. А не тестировали с большим объемом данных, когда в дереве уже куча элементов?
0
Кстати, небольшой баг, если начать вести элемент, а потом отпустить кнопку мыши, то элемент так и будет «висеть» около курсора.
0
Спасибо! Ваше решение пригодится, для админки. странно, что нет подобного функционала по умолчанию в extJS.
0
Сорри за офтоп. Давно использую extjs, использовал и деревья и гриды разных вариантов. Так вот мое мнение такое, что разделение кода на гриды и на деревья — порочно. У них даже api разный. К примеру в гриде есть толковый датастор, а в деревьях надо ноды самому загружать.
Им стоило бы сделать простой грид и как расширение древовидный грид, типа maximgb tree store.
Прикрутив к последнему драг дрог + особые евенты для дерева можно заполучить сразу очень мощное дерево по функционалу, в котором есть и нормальный датастор и фильтры и поиск, можно колонки добавлять, можно редактор данных в дереве делать.
А из этого растут ноги следующих расширений — grouping view + store. Что по сути 2х мерное дерево.
Народ его тоже расширяет порой для более глубоких уровней вложенности.
Библиотека хорошая и написано много правильного, но вот это момент меня лично разачаровывает, ведь изначально из-за такого разделения что есть разные виды гридов и деревьев и апи не совместим медлу ними, а часто нужен комбинированный функционал.
Им стоило бы сделать простой грид и как расширение древовидный грид, типа maximgb tree store.
Прикрутив к последнему драг дрог + особые евенты для дерева можно заполучить сразу очень мощное дерево по функционалу, в котором есть и нормальный датастор и фильтры и поиск, можно колонки добавлять, можно редактор данных в дереве делать.
А из этого растут ноги следующих расширений — grouping view + store. Что по сути 2х мерное дерево.
Народ его тоже расширяет порой для более глубоких уровней вложенности.
Библиотека хорошая и написано много правильного, но вот это момент меня лично разачаровывает, ведь изначально из-за такого разделения что есть разные виды гридов и деревьев и апи не совместим медлу ними, а часто нужен комбинированный функционал.
0
Совершенно с Вами согласен. ExtJS порой не хватает гибкости, очевидности решения, а многие из багов «висят» весьма продолжительное время и не исправляются даже в новых версиях, несмотря на наличие патчей к ним на официальном форуме. Однако это однозначный след долгой разработки, накладывающихся друг на друга костылей и ограничений. И, увы, ядро проекта, скорее всего, не будет переписано в ближайшее время.
0
Да, дерево у них неудобно сделано.
Когда нужно было сделать то же самое, что и автору топика, драг-н-дроп я не осилил, а сделал чекбоксы в дереве — отмеченный элемент появляется в гриде, если из грида элемент удалить (кнопкой удаления в каждой строке), то и выделение с чекбокса снимается.
Когда нужно было сделать то же самое, что и автору топика, драг-н-дроп я не осилил, а сделал чекбоксы в дереве — отмеченный элемент появляется в гриде, если из грида элемент удалить (кнопкой удаления в каждой строке), то и выделение с чекбокса снимается.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Drag&Drop между TreePanel и GridPanel в ExtJS