VB.NET (2010)
Value 項目と Display 項目を含む ComboBox を作成しようとしています。関連するコードは次のとおりです。私はもともとまったく同じ結果でデータテーブルを使用しようとしました:
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Try
cmbFromGroup.Items.Clear()
ItemList.Clear()
Item = New SelectionItem(KeyValue, DisplayValue)
'Link combobox and Item
ItemList.Add(Item)
cmbFromGroup.DataSource = ItemList
cmbFromGroup.DisplayMember = "Display"
cmbFromGroup.ValueMember = "Key"
Catch ex As Exception
Stop
End Try
End Sub
Private Sub cmbFromGroup_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbFromGroup.SelectedIndexChanged
Try
cmbFromMP3.Items.Clear()
Dim x As String = cmbFromGroup.SelectedValue
' <snip>
cmbFromMP3.SelectedIndex = 0
Catch ex As Exception
Stop
End Try
End Sub
Public Interface ISelectionItem
Property Key As String
Property Display As String
End Interface
Public Class SelectionItem
Implements ISelectionItem
Public Sub New(ByVal vKey As String, ByVal vDisplay As String)
_Key = vKey
_Display = vDisplay
End Sub
Public Property Key As String Implements ISelectionItem.Key
Public Property Display As String Implements ISelectionItem.Display
End Class
私が抱えている問題は、cmbFromGroup.SelectedValue に選択した項目の値が含まれていないことです。
私が得ているのは(Watchから)cmbFromGroup.SelectedValue {Player.SelectionItem}オブジェクトです
cmbFromGroup.SelectedValue から取得できる唯一のオプションは、Equals、GetHashCode、GetType、ReferenceEquals、および ToString ですが、期待どおりに ValueMember を取得できるものはありません。
選択したアイテムから ValueMember を取得するにはどうすればよいですか?