not sure what's wrong with your code, but i've done enum selection in
voicetribe with code that looks like the following:
add(new DropDownChoice("genre", new Model()
{
@Override
public Object getObject(Component component)
{
return Genre.valuesSortedByLocalizedName();
}
}, new IChoiceRenderer()
{
public Object getDisplayValue(Object object)
{
return ((Genre)object).getLocalizedName();
}
public String getIdValue(Object object, int index)
{
return object.toString();
}
}));
Flavius wrote:
>
>
> I tried this:
>
> DropDownChoice severityChoice = new
> DropDownChoice("size",
> Arrays.asList(SIZE.values()),
> new ChoiceRenderer()
> {
> public Object getDisplayValue(Object object)
> {
> return ((SIZE)object).getName();
> }
>
> public String getIdValue(Object object, int
> index)
> {
> return ((SIZE)object).getId();
> }
> });
>
> The page renders fine. But when I submit the form, I get this error:
>
> WicketMessage: unable to set object Small, model:
> Model:classname=[wicket.model.CompoundPropertyModel]
>
> Root cause:
>
> wicket.util.convert.ConversionException: Cannot parse 'Small' using format
> [EMAIL PROTECTED]
> at
> wicket.util.convert.converters.AbstractConverter.newConversionException(AbstractConverter.java:72)
>
> As I understand it, it's trying to set an int in the Shirt model for size,
> but the drop down returned the Small object. What I really need is
> Small.getId(). So I need to tell the form to bind the id property of the
> return object to the field "size"
>
>
>
>
> Nick Heudecker wrote:
>>
>> IChoiceRenderer allows you to specify the id and display values for a
>> DropDownChoice. It's exactly what you're looking for. To explain a bit:
>>
>> getDisplayValue(...) - returns the value you want the user to see.
>> "Small",
>> "Medium", etc. This is where you'd return SIZE.getName().
>> getIdValue(...) returns the value submitted to the application. This is
>> where you'd return SIZE.getId().
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/DropDownChoice-binding-question-tf2900580.html#a8104968
Sent from the Wicket - User mailing list archive at Nabble.com.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user