GWT 2.1 Tree или CellTree? - PullRequest
       30

GWT 2.1 Tree или CellTree?

9 голосов
/ 28 октября 2010

Я действительно борюсь с выбором между виджетом GWT Tree, который был частью GWT целую вечность;или новое CellTree, представленное GWT 2.1.

Дерево, которое я хочу представить пользователю, не особенно велико, но я очень обеспокоен отзывчивостью.

Данные наузлы дерева будут доступны для редактирования.Нажав на узел, пользователь переведет узел в режим редактирования.Редактирование более простых узлов потребует только одного TextBox или TextArea;но другие будут включать несколько виджетов, над которыми я хочу управлять стилем с помощью CSS.

Меня привлекает подход CellTree, потому что он, кажется, предлагает большую гибкость и скорость;однако пример кода для редактирования CellTree имеет дело только с очень простыми типами данных: строка, дата, целое число и т. д. Я не знаю, подходит ли CellTree, когда у вас есть более сложные потребности редактирования узлов.

Как вы думаете?CellTree - лучший подход?CellTree заменяет Tree в целом?Какую эвристику я могу применять при выборе между ними?

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Я использую CellTable с несколькими пользовательскими ячейками ввода, включая одну, состоящую из множества виджетов. Отлично работает!

Мне потребовалось несколько часов, чтобы понять, как реализовать настраиваемую ячейку, которая могла бы выполнять сложные операции - поскольку один экземпляр ячейки будет перемещаться вокруг CellTree, притворяясь множеством экземпляров, вам необходимо понять, как он его данные и когда он обновляется и отображается. Я многому научился у источника DatePickerCell.

Я не могу говорить за CellTree, но CellTable очень гибок, прост в программировании и спасает меня от сотен экземпляров виджетов.

1 голос
/ 07 октября 2013

Использование CellTree проблематично. Потому что он не имеет хорошего доступа для просмотра реализации, хранящейся в CellTree. Это вызывает проблемы (например, для меня: D) в создании пользовательских обработчиков для открытия узлов с дочерними элементами, нажав на всю родительскую ячейку. Конечно, вы можете создавать собственные ячейки с помощью AbstractCell, где вы должны написать собственный рендер.

Я думаю, что этот виджет должен быть расширен, и больше объектов должно быть более видимым для пользователей.

Настройка CSS проста. Все, что вам нужно сделать, это расширить CellTree.resource и вставить собственный CSS, основанный на именах классов celltree.css.

...