I currently have an ultracombo on a form and use the text typed into the textbox portion to filter the rows shown in the dropdown portion (grid).
The search works fine and when the user has finished typing there are a selection of rows visible from which they can pick the one they require. My problem is that as soon as the user presses the down key to move down the visible rows, the textbox portion is updated with the currently selected rows displaymember field and the combo re-filters the data (losing the other rows including the one they were moving to). What I would like to do is allow the user to move down the rows, maintaining the typed text in the textbox portion (basically just postponing the update of the textbox) until the user actually selects a row by pressing the enter key (or clicking with the mouse). This would then close up the dropdown and replace the typed text with the selected displaymember field.
There's no way to do this. Selecting an item from the list will always update the text portion of the control.
What you might want to do is create your own combo editor. This is easier than it might seem. What you do is place an UltraTextEditor control on the form and use the ButtonsRight collection to add a DropDownEditorButton. This button has a Contorl property, so you can use an UltraListView control to provide the list. This gives you total control over the list and what happens when the user selects a row.
BTW... if you are using v8.2 of the controls, a new AutoSuggest feature was just added to UltraCombo which filters the list based on what the user types. So that might save you the trouble.
Hi Mike
I have exactly the same need (filter the DropDown depending on the user enter).
In your solution you recommend to use an UltraListView.
Is it possible to use an UltraDropDown in place of the UltraListView?
For me it looks easier because I can bind the UltraDropDown to a DataSource.
The new AutoSuggest feature is unfortunately not possible for us because we need
to split the search text an use it in different columns.