here is my code
AbstractAutoCompleteRenderer<InfUser>
autoCompleteRenderer = new
AbstractAutoCompleteRenderer<InfUser>() {
protected final String getTextValue(final
InfUser infUser) {
return MessageFormat.format("{0} {1}",
infUser.getFirstName(),
infUser.getLastName());
}
@Override
protected void renderChoice(InfUser infUser,
Response response,
String criteria) {
response.write(getTextValue(infUser));
}
};
AbstractAutoCompleteTextField<InfUser>
gfmsTextField=new
AbstractAutoCompleteTextField<InfUser>("gfms",(IModel)null,InfUser.class,autoCompleteRenderer,true)
{
@Override
protected List<InfUser> getChoiceList(String
searchTextInput) {
List<InfUser> criteriaUsers=new
ArrayList<InfUser>();
for(InfUser infUser :financeOfficers){
if(StringUtils.startsWithIgnoreCase(infUser.getFirstName(),
searchTextInput)){
criteriaUsers.add(infUser);
}
}
return criteriaUsers ;
}
@Override
protected String getChoiceValue(InfUser choice)
throws Throwable {
return
String.valueOf(choice.getSysUserId());
}
@Override
public IConverter getConverter(Class<?> type) {
return new IConverter() {
@Override
public String
convertToString(Object value, Locale locale) {
InfUser
infUser=(InfUser)value;
return infUser==null ?
"":MessageFormat.format("{0} {1}",
infUser.getFirstName(),infUser.getLastName());
}
@Override
public Object
convertToObject(String value, Locale locale) {
throw new
ConversionException("Not a vlaid User");
//return null;
}
};
}
};
my form uses compoundproperty model.
I was expecting id of Infuser in convertToObject method but I am getting
display name of InfUser.
Please tell me if Iam doing anything wrong.
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/using-autocomplete-with-an-object-tp3021478p3021478.html
Sent from the Users forum mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]