2010-10-28 14 views
9

Realmente estoy luchando con una opción entre el widget GWT Tree, que ha sido parte de GWT por edades; o el nuevo CellTree, que es presentado por GWT 2.1.GWT 2.1 ¿Tree o CellTree?

El árbol que quiero presentar al usuario no es particularmente grande, pero estoy muy preocupado por la capacidad de respuesta.

Los datos en los nodos del árbol serán editables. Al hacer clic en un nodo, el usuario colocará el nodo en el modo de edición. La edición de los nodos más simples requerirá solo un solo TextBox o TextArea; pero otros incluirán varios widgets, sobre los cuales deseo control de estilo a través de CSS.

Me atrae el enfoque de CellTree porque parece ofrecer gran flexibilidad y velocidad; sin embargo, el código de muestra para la edición de CellTree trata solo con tipos de datos muy simples: cadena, fecha, número entero, etc. No sé si CellTree es apropiado cuando tiene necesidades de edición de nodos más complejas.

¿Qué opinas? ¿CellTree es el mejor enfoque? ¿CellTree reemplaza a Tree en general? ¿Qué heurística puedo aplicar al elegir entre ellos?

Respuesta

2

Estoy usando una CellTable con varias células de entrada personalizadas, incluida una compuesta por muchos widgets. ¡Funciona genial!

Me tomó un par de horas entender cómo implementar una Celda personalizada que podría hacer operaciones complejas, ya que una sola instancia de la Celda se moverá alrededor del CellTree, pretendiendo ser muchas instancias, necesita entender cómo es obteniendo sus datos y cuando se actualiza y se procesa. Aprendí mucho de la fuente de DatePickerCell.

No puedo hablar por CellTree, pero la CellTable es muy flexible, fácil de programar y me ahorra cientos de instancias de widgets.

+0

¿Hizo uso de CompositeCell para la celda con múltiples widgets? – David

+0

Extendí la clase AbstractEditableCell. Empecé a usarlo en 2.1.0.M3, antes de que tuvieran muchos documentos, por lo que podría ser que CompositeCell es lo que quieres. También veo que agregaron "Editor" s, que se ven bien. –

1

Usar CellTree es problemático. Porque no tiene buen acceso para ver la implementación almacenada en CellTree. Causa un problema (por ejemplo, para mí: D) al crear controladores personalizados para abrir nodos con elementos secundarios al hacer clic en la celda de elementos principales. Por supuesto, puede crear celdas personalizadas por AbstractCell, donde debe escribir su propio procesador.

Creo que este widget debe ser mejorado y que más objetos deben ser más visibles para los usuarios.

Personalizar CSS es simple. Todo lo que tiene que hacer es abrir CellTree.resource e insertar su propio CSS basado en los nombres de las clases celltree.css.