Zusätzliche Daten in Combobox-Items speichern

06/01/2009 - 15:53 von gibbonweb | Report spam
Hallo,

ich habe eine Combobox die mit verschiedenen Items per

MeineCombobox.Items.Add("ein Name")

fülle. Diese Namen benötigen jedoch IDs als Zusatzinformationen, die ich
spàter auslesen muss! Bei ListView-Items ist es möglich, eine ID als
ListView.Items.Item(x).Tag unterzubringen, dies wird aber bei Comboboxen
nicht unterstützt...
Gibt es dafür eine Alternative? Oder wie geht man am besten vor um
"Display"/"Value"-Paare in Comboboxen zu verwenden?

Vielen Dank im Voraus,

Johannes
 

Lesen sie die antworten

#1 Karsten Sosna
06/01/2009 - 16:24 | Warnen spam
"gibbonweb" schrieb im Newsbeitrag
news:
^^^^^^^^^^^^^^^^^^
Hier sollte der volle Name(Vor- und Zuname stehen).

ich habe eine Combobox die mit verschiedenen Items per

MeineCombobox.Items.Add("ein Name")

fülle. Diese Namen benötigen jedoch IDs als Zusatzinformationen, die ich
spàter auslesen muss! Bei ListView-Items ist es möglich, eine ID als
ListView.Items.Item(x).Tag unterzubringen, dies wird aber bei Comboboxen
nicht unterstützt...
Gibt es dafür eine Alternative? Oder wie geht man am besten vor um
"Display"/"Value"-Paare in Comboboxen zu verwenden?



Versuch es mal so: ;=)
\\\
Public Class Form1

Friend WithEvents ComboBox1 As New ComboBox

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ComboBox1.Parent = Me

Dim cmbItem As New ComboBoxItem("Name1", "ID1")
ComboBox1.Items.Add(cmbItem)
cmbItem = New ComboBoxItem("Name2", "ID2")
ComboBox1.Items.Add(cmbItem)
ComboBox1.SelectedIndex = 0
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
Console.WriteLine(DirectCast(ComboBox1.SelectedItem,
ComboBoxItem).ID)
End Sub

Private Class ComboBoxItem
Private _Name As String
Private _ID As String

Public Sub New(ByVal name As String, ByVal id As String)
_Name = name
_ID = id
End Sub

Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property

Public Property ID() As String
Get
Return _ID
End Get
Set(ByVal value As String)
_ID = value
End Set
End Property

Public Overrides Function ToString() As String
Return _Name
End Function
End Class
End Class
///
Gruß Scotty

Ähnliche fragen