1

ComboBox の「ValueMember」プロパティに格納されている値を取得しようとしています。次の投稿のアドバイスに従いました: 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」が表示されるだけです。私は何を間違っていますか?

ありがとう、

4

1 に答える 1

6

ValueMember ではなくプロパティ Value を使用する必要があります

Dim valueMemberValue = cmbCategory.SelectedValue.ToString()

プロパティValueMemberは、値を取得する列の名前にすぎませんが、DiplayMember は、項目コレクションに入力する列の名前です。
したがって、ValueMember を設定して、ユーザーが Items コレクションから別の項目を選択したときに、その Value プロパティを更新するように ComboBox に指示します。コンボは、選択された項目の同じ行にあるが、ValueMember プロパティによって名前が付けられた列にある対応する値を調べます。

于 2013-08-02T14:53:42.913 に答える