2013-07-04 4 views
0

Travailler sur une application GWT qui utilise un CellTable pour afficher des données. Je me demandais s'il était possible de mettre à jour ce CellTable dynamiquement lorsque les données de la base de données ont changé (sans un bouton spécifique). Peut-être chaque 2 secondes ou quelque chose comme ça.Comment mettre à jour un CellTable dynamiquement en utilisant GWT

Je regardai pendant un certain temps et je suis ...:

onRangeChanged(AsyncDataProvider) est tiré uniquement lorsque l'utilisateur modifie la table. droite? Donc, suis-je obligé de mettre en œuvre une solution qui utilise WebSocket comme Atmosphere ou gwtEventService? ou y a-t-il un autre moyen?

Merci

Répondre

0

Oui vous avez raison, il n'y a rien à GWT qui relie la table avec le côté serveur hors-the-box.

Peut-être qu'un jour, RequestFactory pourrait avoir un mécanisme de poussoir de serveur comet afin que les entités soient averties lorsqu'il y a des changements de serveur. Donc la solution est maintenant de configurer un AsyncDataProvider pour votre table et d'utiliser une bibliothèque push du serveur comme vous pointez (j'utilise gwt-atmosphere) pour déclencher un événement à chaque fois que les données sont modifiées pour que le fournisseur de données puisse mettre à jour le table.

+0

Je voulais éviter ça :) mais merci! – user2551079

0

This guideThis guide devrait aider, GWT a une manière intégrée de le faire à travers un DataProvider. Il existe même une classe spécifique AsyncDataProvider.

+0

Merci pour votre réponse mais j'ai déjà vu ça et ça ne le fait pas! car je veux déclencher les vues lorsque les données ont changé depuis le serveur – user2551079