I have a UltraCombo that is populated with a dataset such as this:
AccountID1, ItemKey1
AccountID1, ItemKey2
AccountID1, ItemKey3
AccountID2, ItemKey1
AccountID3, ItemKey1
*Dataset PrimaryKey is the ItemKey column
*DisplayMember for the UltraCombo is AccountID, ValueMember is ItemKey
1. User begins typing "AccountID1" into the combobox which drops down the grid to display the available records.
2. User select row containing ItemKey3
* ValueChanged event fires with UltraCombo.Value = ItemKey3
* ValueChanged event fires with UltraCombo.Value = ItemKey1
3. User clicks on the drop down to see that the selected row of the grid is AccountID1, ItemKey1--even though the row selected in step #2 was the row containing ItemKey3
I'm wondering if this has to do with the fact that there are multiple rows containing AccountID1--and as such the control loses track of the one that was actually selected.
It definately sounds like it's a problem with the duplicate display members. But I think the control should be able to handle this. What version of the control are you using? Do you have the latest Hot Fix?
If not, I recommend downloading it and see if it helps. If not, you should Submit an incident to Infragistics Developer Support and include a small sample project demonstrating the behavior so they can get it corrected.
I ran into the same issue. In some cases the RowSelected event gets fired twice. Just to add background information, it is using the AutoCompleteMode = SuggestAppend.
I think what is happening there is the AutoComplete event is changing the value when you loose focus and click on the row. Which causes it to update the "selected" value. Which in turn fires the RowSelected event a second time.
In my case, sometimes the event handlers argument would have the row the first time but not the second time. Which would remove the selection. Very odd.
My temporary hack fix was to sort the list after binding the data table. That seemed to fixed it.
cbShipToCustomers.DisplayLayout.Bands[0].Columns["Ship to Host"].SortIndicator = SortIndicator.Ascending;
I doubt that this issue is in way related to the original one posted here, since the original issue was posted in August of 2008, before the AutoCompleteMode existed.
Right.. I miss spoke... not the same issue, but similar. What is similar is the controls fires the row changed event twice. Maybe you can pull out my post and create it's own thread then. Might help somebody else with a similar issue.
Are you using the latest service release? How to get the latest service release - Infragistics Community
If so, and you still have the issue, can you post a small sample project demonstrating this?
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For i As Integer = 0 To 10
UltraComboEditor1.Items.Add(i, i.ToString)
Next
UltraComboEditor1.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend
End Sub
Private Sub UltraComboEditor1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles UltraComboEditor1.ValueChanged
MsgBox("ValueChanged")
End Class