2010-09-14 20 views
4

Je suis nouveau avec Google Visualization pour GWT et j'ai besoin d'aide. Quelqu'un peut-il me dire quel est la meilleure pratique pour transférer DataTable (données pour la visualisation) avec GWT RPC. Cause DataTable n'est pas sérialisable et j'ai beaucoup de données . Je veux utiliser GWT RPC car j'utilise Java côté serveur. Je sais qu'il existe une méthode DataTable.toJson dans le package de visualisation, mais elle n'est pas encore encapsulée dans le package gwt.visualization. J'ai essayé, seul, de l'intégrer avec JSNI dans mon code GWT, mais je n'ai pas réussi. Est-ce que quelqu'un réussit, ou existe-t-il une approche différente pour résoudre ce problème?GWT Visualisation des bonnes pratiques

Merci

Répondre

0

Ce que je n'est d'envoyer les données du serveur au client et de créer l'objet DataTable côté client.

Je pense que cette méthode est la moins sale :)

0

Le problème avec c'est que son incroyable lent ... Je essayé d'ajouter ~ 800 valeurs à un AnnotatedTimeline et il a fallu quelques secondes pour redessiner 10,5 il. L'outil d'analyse de réseau chrome indique que la demande au serveur a pris 200ms .. le reste du temps a été perdu lors de la création du datatable côté client.

La méthode habituelle consiste à utiliser un objet de requête pour obtenir les données. cet objet fera toute la création datatable pour vous .. Mais je n'ai toujours pas trouvé un moyen d'envoyer une telle requête sans écrire l'URL entière dans une seule chaîne .. IMHO il devrait y avoir un moyen de faire quelque chose comme un appel RPC ... Mais il ne semble pas y avoir de bons tutoriels sur le web ... Ou peut-être que je me trompe :)

+0

Jonas, 10,5 secondes que vous avez mentionné, est-il en mode hébergé ou après l'application a été correctement déployée? Parce qu'il y a une grande différence entre les 2 ... –

+0

En mode hébergé, mais en raison du fait qu'il est survenu dans la partie js, je pense que ce n'est pas très probable qu'il accélère lorsqu'il est déployé. (J'ai compilé le js comme compressé/productif). – Jonas

0

Je pense que le 'Query' object est le meilleur moyen d'obtenir une date. Créez un datasourceservlet et obtenez le datatable en utilisant la méthode response.getDataTable(). An example here.