2013-08-02 2 views
1

Я пытаюсь получить значение, хранящееся в свойстве ValueMember ComboBox. Я следил за рекомендациями от следующего сообщения: How to get ValueMember value from ComboBox C# Winforms?, используя значение свойства ValueMember

К сожалению, он не работает. Ниже мой код:

Private Sub LoadCategoryCombo() 
    Dim ds As New DataSet 

    ds = GetCategoryData() 

    If Not IsNothing(ds) Then 
     cmbCategory.DataSource = ds.Tables(0) 
     cmbCategory.DisplayMember = "category" 
     cmbCategory.ValueMember = "abbrev" 
    End If 
End Sub 

То, что я пытаюсь сделать, это когда я выбираю значение из выпадающего списка, я хочу, чтобы отобразить значение, хранящееся в поле «ValueMember», однако, он просто показывает " Abbrev». Что я делаю не так?

Спасибо,

+0

Отметьте этот вопрос WPF или WinForms ... все, что подходит. –

ответ

4

Вы должны использовать свойство Value не ValueMember

Dim valueMemberValue = cmbCategory.SelectedValue.ToString() 

Свойство ValueMember это только имя столбца, из которого вы хотите восстановить значения, а DiplayMember это имя из столбца, из которого вы хотите заполнить коллекцию элементов.
Итак, установив ValueMember, вы сообщаете ComboBox обновить его свойство Value, когда пользователь выбирает другой элемент из коллекции Items. Компонента смотрит на соответствующее значение, присутствующее в той же строке выбранного элемента, но в столбце с именем через свойство ValueMember

Смежные вопросы