使用ValueMember属性的值

时间:2013-08-02 14:50:57

标签: vb.net winforms

我正在尝试检索存储在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”。我做错了什么?

谢谢,

1 个答案:

答案 0 :(得分:6)

您应该使用属性Value not ValueMember

Dim valueMemberValue = cmbCategory.SelectedValue.ToString()

属性ValueMember它只是您要从中检索值的列的名称,而DiplayMember是您要从中填充项目集合的列的名称。
因此,设置ValueMember,当用户从Items集合中选择不同的项时,您告诉ComboBox更新其Value属性。组合查看所选项目的同一行中存在的相应值,但在通过ValueMember属性命名的列中