Le 26/02/2013 03:33, Eric Chatellier a écrit :
Le 25/02/2013 16:23, Eric Chatellier a écrit :
Je ne comprend pas ce problème.
Sur la page des molécules, il y a deux tableaux : provenances et documents. Le premier est bien mis à jour mais pas le deuxième et il n'y a aucun code particulier qui force le rechargement des tableaux. J'ai fini par trouver finalement, je ne maitrise pas encore toutes les subtilités de wicket ;-).
Dans ce cas là, j'utilisais directement les instances des entités 'Molecule' au lieu de Model<Molecule>. Les pages sont instanciées une seule fois, les modèles aussi, mais les données des modèles sont détacher/rattacher lorsque l'on change de page. Il faut donc utiliser des modèles pour que les entités soient rechargées et les bonnes listes affichées.
Bonjour Eric, En effet, les modèles sont au début un peu déroutants. On en voit partout dans wicket et on se demande pourquoi faut-il systématiquement passé par eux (une simplification ne serait-elle pas meilleure ?). Mais petit à petit on rentre dans la logique du framework et on comprend leur force. Dans ton cas, tu as bien identifié le problème, tu ne passais pas par un modèle pour construire ton listview. Cependant tu peux encore clarifier ton code. Actuellement tu charges la liste des documents dans un modèle de list de document après chaque cycle de sérialisation/désérialisation (load()). Cependant cette liste existe déjà, de la même manière que les autres propriétés d'une molécule. La simple utilisation d'un PropertyModel pour constituer ton modèle de liste suffit donc dans ce cas. Tu peux d'ailleurs le passer en paramètre de ton ReadListDocumentsPanel au lieu du modèle de molécule. Ce serait plus cohérent : le panel sert à afficher le modèle de ce qu'il doit afficher. Tu peux trouver un exemple (sans panel) dans ReadPurificationPage, notamment :
ListView<ParamMethoPuriEffectif> paramMethodes = new ListView<ParamMethoPuriEffectif>( "Purification.paramsMethode.List", new PropertyModel<List<ParamMethoPuriEffectif>>(purificationModel, "sortedParamsMetho")) { ...
Bonne journée, Adrien -- Adrien Cheype Ingénieur en Systèmes d'Information Service « Informatique Scientifique et Appui aux Partenaires du Sud » Direction du Système d'Information (DSI) http://www.ird.fr/dsi/ http://www.ird.fr/informatique-scientifique/ INSTITUT DE RECHERCHE POUR LE DEVELOPPEMENT BP A5 - 98848 Nouméa - Nouvelle Calédonie Tél. +687 260 789