Actually I have just found in the javadocs the 
AbstractObjectAutoCompleteRenderer which does the separation.

I'll give that a go.

cheers,
Steve

On 22/12/2009, at 10:54 AM, Steve Swinsburg wrote:

> I decided against using the ObjectAutoCompleteTextField because it was too 
> restrictive in the Object you supply. I went with the component on the wiki 
> and ended up adding another getter/setter to my page to separate the value 
> from the display when it gets the object selected.
> 
> However, I revisited the Wicketstuff component with your suggestion, and 
> adding:
> builder.idProperty("userId"); 
> 
> works to set the value for the field that is submitted. 
> 
> However, there is no way to tell it the value to use for the display!  It's 
> just serializing the Object I give it as the display (ie 
> my.package.model.per...@77aa0759])
> 
> What I need is to give it a list of objects and to be able to specify what 
> properties to use for the display value and the submit value. It needs 
> something like:
> builder.displayProperty("displayName");
> 
> thanks,
> Steve
> 
> On 22/12/2009, at 10:00 AM, Albert Romanius wrote:
> 
>> I am not sure, but you could try to set idProperty in 
>> ObjectAutoCompleteBuilder
>> 
>> 
>> On Mon, Dec 21, 2009 at 10:54 AM, Steve Swinsburg
>> <steve.swinsb...@gmail.com> wrote:
>>> On further investigation, the values aren't being separated after all. What
>>> is added to the textfield is what is submitted in the form.
>>> Is it possible to submit a different value than just the display text?
>>> thanks,
>>> Steve
>>> 
>>> On 21/12/2009, at 1:54 PM, Steve Swinsburg wrote:
>>> 
>>> Nevermind. I ended up going with this approach where I could separate the
>>> values:
>>> http://cwiki.apache.org/WICKET/autocomplete-using-a-wicket-model.html
>>> I will add my code snippet to the page.
>>> cheers,
>>> Steve
>>> On 21/12/2009, at 11:57 AM, Steve Swinsburg wrote:
>>> 
>>> Hi,
>>> I am using ObjectAutoCompleteField from WicketStuff and it looks like what I
>>> need for my scenario:
>>> I have an object list with a bunch of fields and when the user searches, it
>>> needs to match on a certain field and display the list of matches. The
>>> examples do this with a Car object with an Integer field for the ID and a
>>> String for the car name.
>>> However, there seems to be no way to tell it *what* fields to use in the
>>> supplied object. You can only give the component the Type of fields to look
>>> up, and it gets the field to use by reflection. This assumes only one field
>>> in that object will be of that Type.
>>> ie
>>> How could I make it would with a list of these objects:
>>> class Person {
>>> String userId;
>>> String displayName;
>>> ...
>>> }
>>> Giving the ObjectAutoCompleteField the types <Person,String> won't work, it
>>> won't know what field to use.
>>> 
>>> List<Person> persons = getPersons();
>>> ObjectAutoCompleteBuilder<Person,String> builder = new
>>> ObjectAutoCompleteBuilder<Person,String>(
>>> new AutoCompletionChoicesProvider<User>() {
>>> public Iterator<Person> getChoices(String input) {
>>> List<Person> subSet = getPersonSubSet(persons, input);
>>> return subSet.iterator();
>>> }
>>> }
>>> );
>>> ObjectAutoCompleteField toField = builder.build("toField", new
>>> Model<String>());
>>> form.add(toField);
>>> 
>>> Any ideas?
>>> thanks,
>>> Steve
>>> 
>>> 
>> 
>> 
>> 
>> -- 
>> Albert
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to