У меня есть ComboBox
, привязанный к DataView
, который занял заполненный DataTable
. Это DataTable
имеет три столбца. Прежде чем DataView
будет привязан к ComboBox
, я добавлю еще один столбец и установлю некоторые значения.
Dim table As DataTable = _retrieve.GetAllVersionsTable()
table.Columns.Add("FirstRow", GetType(Boolean))
Dim row As DataRow = table.NewRow()
row("ID") = -1
row("SomeValue") = -1
row("SomeText") = "N/A"
row("FirstRow") = True 'Fort sorting...
Dim view As DataView = New DataView(table)
view.Sort = "FirstRow DESC, SomeText DESC"
table.Rows.InsertAt(row, 0)
comboBox.DataSource = view
comboBox.ValueMember = "ID"
comboBox.DisplayMember = "SomeText"
Позже я извлекаю те же данные и создаю новый DataTable
и связываю его с DataGridView
в другой форме. Из этой формы я установил значение для столбца идентификаторов из выбранной строки в DataGridView
.
Когда я возвращаюсь к первой форме, с помощью ComboBox
я хочу выбрать строку ComboBox
, которая имеет то же значение, которое я установил во второй форме, привязанную к ее свойству ValueMember
. Я думал, что SelectedValue
будет работать для этого, но это не так. Что еще я могу сделать?
comboBox.SelectedValue = myIdentityValue
Поскольку строки разные, я тоже не могу использовать SelectedItem
. Есть ли способ, которым я могу выбрать соответствующую строку без необходимости циклически перебирать все существующие строки?