Question

J'écris actuellement une application web. J'utilise un AjaxFallbackDefaultDataTable pour afficher les objets de domaine. Les tableaux sont à ce jour en page et tout fonctionne bien.

Ce que je veux être en mesure de le faire: Dans ma mise en œuvre de IColumn<T> je retourne mon propre composant d'en-tête via Component getHeader(String componentId). Ce composant dépend de la page et la taille qui est la page actuellement utilisé par la table (il montre un lien vers une autre page qui ne devrait se soucier de la tranche actuelle des données). Maintenant, je l'ai mis en œuvre la méthode void onPageChanged() de la table afin qu'il met à jour les colonnes en conséquence.

Problème: J'utilise la fenêtre de débogage Wicket AJAX et il me montre que toute la table est sur le serveur nouveau rendu et envoyé au client. Cependant, les en-têtes ne semble pas mettre à jour correctement pour que je suis bloqué pour toujours avec la page 0. En utilisant un débogueur je peux clairement voir que Component getHeader(String componentId) est appelée une seule fois, lorsque la table est créée au départ.

Question: Est-il possible que je peux résoudre ce problème sans écrire ma propre mise en œuvre d'une table de données AJAXified? Sinon, quelqu'un peut s'il vous plaît me diriger dans la bonne direction?

Était-ce utile?

La solution

HeadersToolbar crée les en-têtes une seule fois.

Soit vous mettre en œuvre votre propre barre d'outils recréer les en-têtes avant chaque rendu, ou de réécrire votre composant d'en-tête pour rendre toujours un lien mise à jour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top