我正在尝试检索存储在ComboBox的“ValueMember”属性中的值。我按照以下帖子的建议:How to get ValueMember value from ComboBox C# Winforms?
不幸的是它没有用。以下是我的代码:
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 :(得分:6)
您应该使用属性Value not ValueMember
Dim valueMemberValue = cmbCategory.SelectedValue.ToString()
属性ValueMember它只是您要从中检索值的列的名称,而DiplayMember是您要从中填充项目集合的列的名称。
因此,设置ValueMember,当用户从Items集合中选择不同的项时,您告诉ComboBox更新其Value属性。组合查看所选项目的同一行中存在的相应值,但在通过ValueMember属性命名的列中