gwt listbox gwt-platform

Manejo de gran cantidad de datos en GWT ListBox



gwt-platform (1)

Demasiada elección no es una elección.

No podrá ajustar GWT Listbox / ValueListBox con el fin de mostrar datos de gran cantidad (estoy adivinando entradas en 1000 considerando 20 segundos, es decir, 30% de 1 min). GWT Listbox está destinado a la selección. No puede esperar que el usuario vea miles de valores, desplazarse y luego seleccionar. Es una pesadilla de interacción con el usuario .

  1. El enfoque correcto es utilizar Async cargado SuggestBox para tales datos enormes. Con SuggestBox puede filtrar y mostrar datos menores como opciones según las claves de entrada de los usuarios.

  2. Si no es posible usar SuggestBox, debe probar CellList en Cell Widgets (pueden mostrar un mejor rendimiento) - https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellWidgets

  3. No estoy seguro, pero pruebe GWTChosen - http://jdramaix.github.com/gwtchosen/

Debo hacer una llamada RPC cuando mi presentador se revela. Esa llamada da como resultado un String [] con una gran cantidad de datos. Pero esta llamada es muy muy lenta. Tarda aproximadamente 1 minuto en terminar.

Después de algunas pruebas, descubrí que ListBox.addItem () toma más del 30% de esta llamada. Es un gran momento para simplemente agregar Cadena en ese Widget.

¿Qué puedo hacer para minimizar este tiempo?

Asumiendo que necesito cargar todo cuando mi Presentador revele.

Cosas que ya he hecho:

  • Poner mi consulta dentro de una vista (no afecta demasiado)
  • El servidor lee un archivo Txt en lugar de llamar a DB (peor que Ver).
  • Utilice las clases de colecciones ArrayList, Vector ... (Vector redujo el tiempo en un 5%)

Me di cuenta de que GWT diseñó LightweightCollections para mejorar el uso de Collections en el lado del cliente (es mi siguiente paso).

Pero, ¿qué puedo hacer con ListBox?