Value + Name angeben in Listbox/Listview

aspMofL

Grünschnabel
Wie kann man in einer listbox oder listview 2 werte angeben einer der angezeigt wird und eine ID oder sowas?

Code:
while(read.Read())
{               
    listBox1.Items.Add(read["hw_fach"]);
}

kann man das so machen? ...aber wie liest man den gewählten wert dann aus?

Code:
while(read.Read())
{               

    listBox1.Items.Add(new ListItem(read["hw_fach"].ToString(), read["hw_id"]));
}
 
Hi

Ich hab nicht ganz verstanden, was du willst, daher einige Vorschläge (die Code-Schnipsel helfen da auch nicht weiter ;) )
Wenn du einen ListView nutzen willst, kann du du bei diesem den ViewStyle auf Details. Dann kann du mehrere Spalten anlegen und entsprechend die Werte anzeigen.
Bei einer ListBox solltest du die Werte in eine eigene Struktur/Klasse packen. bei dieser überschreibst du die Methode ToString() und gibts darin die entsprechenden Werte formatiert zurück. Die Instanzen dieser Klasse fügst du dann der ListBox hinzu.
 
also ich möchte sowas haben wie z.b: in php/html
Code:
<select name='test' size='1'>
   <option value='id'>Name</option>
</select>

Jetzt wird ja beim absenden der ausgewählte <option> value übergeben, und meine Frage war jetzt halt wie geht das mit c#? nur möchte dafür gerne eine ListBox verwenden.
 
Hi

Dann wäre die zweite Variante was für dich:
Klasse ListBoxItem
C#:
class ListBoxItem
    {
        public ListBoxItem(int id, string name)
        {
            this.id = id;
            this.name = name;
        }

        private int id;
        private string name;

        public int ID
        {
            get
            {
                return id;
            }
        }

        public override string ToString()
        {
            return name;
        }
    }
Hinzufügen von Items:
C#:
listBox.Items.Add(new ListBoxItem(123, "Hier könnte Ihre Werbung stehen");
Abfragen des Wertes:
C#:
int id = ((ListBoxItem)listBox.SelectedItem).ID;
 

Neue Beiträge

Zurück