Hi,
I'm just so confused why you decided to have three widgets for something that - in my believe - could just be one widget with some configuration options...
I'm talking about combobox, dropdownlist and autocomplete.
I'm guessing I need the
dropdownlist because:
- The label shown to the user should be different from the value submitted in the form (yes, the value should be an object if where the label should obviously be a user-readable object description, so I'm having my server return data such as [{id:"1", label:"Belgium"}, {id:"2", label:"United Kingdom"}, {id:"3", label:"France"}] which I believe should allow me to display country names, but when the form is submitted, I should get the ID's. (I'm using the dataTextField and dataValueField)
However, we sometimes have THOUSANDS of objects to choose from, so we want to use the
autocomplete because:
- it allows me to do serverside filtering based on characters entered by the user
So I'm a bit stuck here. Basically I believe we want an autocomplete, but with the ability to have value differ from text/label. The jQueryUI autocomplete (which we use up to now) does just that. It allows me to return any data from the server, and using an event listener on the object, I can update a hidden field with the value for a selected element.
I'm just a little confused why you decided to make three widgets, while actually I believe a lot of people need a combination of them. Why for instance does autocomplete not support either an event for item selection or the dataValueField option, and why does the dropdownlist not allow me serverside filtering, yet just loads everything from the server in one call?
Very confused now... I believe you should try and make this ONE widget supporting all functionalities using configuration options. One thing I also don't understand is why the autocomplete doesn't have a loading indicator when ajax is being retrieved, where the dropdownlist DOES show a loading icon. Never believed picking out a widget would be so confusing to be honest :o)
David.