Thanks for the response. How do I bind the playerModel to the DDC? If I did the below extract the object out of the playerModel it would probably work.
Player player = (Player)playerModel.getObject(); final DropDownChoice downChoice = new DropDownChoice("name", new Model(Player), playersModel, new ChoiceRenderer("username", "id")); If I did this though, the player object would get serialized and I want to avoid that. If I use: final DropDownChoice downChoice = new DropDownChoice("name", new CompoundPropertyModel(playerModel), playersModel, new ChoiceRenderer("username", "id")); This would work fine w/o serialization except that the compound expects a setter with the name of the component from the object that comes from the backing LDM (playerModel) so it would error. I essentially want it to not use a setter, instead just store the value itself as the object. Tim Pedro Santos-6 wrote: > > The DDC uses the model choises internaly, if you want manage this model, > use > it on other places, why don't you keep an refecence to by yourself? > > setResponsePage(new ViewPicksPage(playersModel)); > > on DDC default model will have only the selected item, provided by choices > options you passed > > On Fri, Sep 18, 2009 at 10:45 AM, Tim Delesio <tdele...@gmail.com> wrote: > >> I'm trying to default a DDC (DropDownChoice) using the model I am passing >> in. The page is getting passed in a LoadableDetachableModel which is of >> Type Player. The list to back the DDC is a List<Player>. >> >> LoadableDetachableModel playersModel = new LoadableDetachableModel() >> { >> protected Object load() >> { >> return >> playerManager.getPlayersInLeague(getActiveLeague()); >> } >> }; >> >> And here is the DDC. >> >> final DropDownChoice downChoice = new DropDownChoice("name", new >> Model(), >> playersModel, new ChoiceRenderer("username", "id")); >> add(downChoice); >> >> downChoice.add(new AjaxFormComponentUpdatingBehavior("onChange") >> { >> >> @Override >> protected void onUpdate(AjaxRequestTarget target) { >> setResponsePage(new ViewPicksPage(downChoice.getModel())); >> } >> >> }); >> >> The above code works but does not obviously does not default the DDC. I >> want the default to be the playerModel that is being passed in to the >> page. >> If I pass the playerModel into the DDC (instead of the new Model()) I get >> an >> error saying that I can't set a model on a LDM (loadabledetachablemodel). >> What is the correct way to default the DDC? I've read that I shouldn't >> use >> a LDM for backing as it is loadable, but then what model should I use? >> Keep >> in mind that I am trying to keep the memory footprint low and do not want >> to >> serialize objects unless I have to. >> >> Tim >> > > -- View this message in context: http://www.nabble.com/Defaulting-a-DropDownChoice-tp25508933p25513112.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org