Wicket valeur modèle mise DropDownChoice
-
26-10-2019 - |
Question
I ai une table (Dataview) avec le contenu d'une base de données, où chaque ligne / object a un bouton "Modifier". Lorsque je tente de modifier l'objet, la valeur DropDownChoice (sous une forme) ne sont pas correctement mis à jour (même si elle est correcte dans la base de données). La valeur qui se prépare dans le DDC est le premier élément de la (triés) liste « placeList », où je veux évidemment la valeur correcte de mon objet (event.getPlace (). GetName ()).
Voici le code (1,5 wicket):
List<Place> placesList = UtGuidenApplication.getInstance().getUgpService().getAllPlaces();
Collections.sort(placesList);
DropDownChoice<Place> selectablePlaceField = new DropDownChoice<Place>("Sted", new PropertyModel<Place>(event, "eventPlace.name"),
placesList, new ChoiceRenderer<Place>("name"));
utguidenEventForm.add(selectablePlaceField);
Tout le monde?
Cordialement, Terje Eithun, Norvège
La solution
Je pense que vous avez une erreur dans votre modèle. Vous avez écrit new PropertyModel<Place>(event, "eventPlace.name")
qui contient le nom de votre événement comme modèle, mais la liste des choix contient des lieux. Je pense à l'aide new PropertyModel<Place>(event, "eventPlace")
devrait résoudre le problème.