Hello,
I don't think you need to track the selected (true/false) state your
self. Let the radio group model do it automatically for you like:
listLanguages.add(new NameWrapper("English", "en", "");
listLanguages.add(new NameWrapper("German", "de", ""));
listLanguages.add(new NameWrapper("French", "fr", ""));
listLanguages.add(new NameWrapper("Italian", "it", "");
listLanguages.add(new NameWrapper("Polish", "pl", "");
// set the selected radio to be the first in the list 'English'
final RadioGroup groupQuery = new RadioGroup("groupLanguagesQuery", new
Model<NameWrapper>(listLanguages.get(0)));
listLanguagesQuery = new ListView("listLanguagesQuery",listLanguages) {
protected void populateItem(ListItem item) {
String lang =
((NameWrapper)item.getModelObject()).getName();
item.add(new Label("nameLanguageQuery", new
StringResourceModel(lang, this, null,"XXXX")));
item.add(new Radio("checkLanguageQuery",
item.getModel(),groupQuery));
}
};
groupQuery.add(listLanguagesQuery);
Now the model object value of the RadioGroup 'groupQuery' will have the
NameWrapper for the selected choice. A NameWrapper instance is selected
if it is returned by groupQuery.getModelObject();
Regards,
Mike
I had tried this option and it does not work.
Michael Mosmann wrote:
Hi,
.. i am not sure. The model of RadioGroup should contain, wich item is
selected. The model of Radio should reflect the associated value. So if
model of RadioGroup contains "fr" and Property "selected" of item nr. 3
is "fr" this Radio is selected.
maybe this will help..
mm:)
I have a problem when using the Radio component.
Using a list of languages, where each item is a NameWrapper object
with a property "selected". The property "selected" is associated to
the radio component.
However, when presenting to the user the corresponding list of
radios, the language Polish is true, and not English (it should be
the selected option).
listLanguages.add(new NameWrapper("English", "en", "", true));
listLanguages.add(new NameWrapper("German", "de", "", false));
listLanguages.add(new NameWrapper("French", "fr", "", false));
listLanguages.add(new NameWrapper("Italian", "it", "", false));
listLanguages.add(new NameWrapper("Polish", "pl", "", false));
final RadioGroup groupQuery = new RadioGroup("groupLanguagesQuery",
new Model());
listLanguagesQuery = new
ListView("listLanguagesQuery",listLanguages) {
protected void populateItem(ListItem item) {
String lang =
((NameWrapper)item.getModelObject()).getName();
item.add(new Label("nameLanguageQuery", new
StringResourceModel(lang, this, null,"XXXX")));
item.add(new Radio("checkLanguageQuery", new
PropertyModel(item.getModel(), "selected"),groupQuery));
}
};
groupQuery.add(listLanguagesQuery);
Any ideas? I really need to solve this issue.
Thank you so much.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org