Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

d-fens schrieb am 29.June.2009, 10:13:02 in der Kategorie pc.coding

C#.NET ComboBox gefüllt mit einem Objekt

> Hallo!
>
> Ich fülle in C#.net eine Combobox mit einem eigenen Objekt (Klasse), da es
> ja den ListItemTag nicht mehr gibt.
>
>
>
>

public class MyListItem
> {
> private string iText;
> private string iKey;
> 
> public  MyListItem(string pKey, string pText)
> {
> iKey = pKey;
> iText = pText;
> }
> public override string ToString()
> {
> return iText;
> }
> public string Text
> {
> set{iText=value;}
> get { return iText; }
> }
> public string Key
> {
> set { iKey = value; }
> get { return iKey; }
> }
> }


>
>
>
> wenn ich jetzt die ComboBox fülle Z.B.:
>
>
> combo.Items.Add(new MyListItem(\"a\",\"Äpfel\"));
> combo.Items.Add(new MyListItem(\"b\",\"Bananen\"));
> combo.Items.Add(new MyListItem(\"c\",\"Kirschen\"));
> combo.Items.Add(new MyListItem(\"d\",\"Weichsel\"));
>
>
> Wie kann ich nun abprüfen, ob es den Eintrag \"b\", \"Bananen\" schon gibt?
>
> combo.Items.Contains(new MyListItem(\"b\",\"Bananen\")) ergibt false, obwohl
> ich definitiv die Combo Box bereits mit diesem Eintrag gefüllt habe. Liegt
> das daran, dass es sich durch das new MyListItem jeweils um 2 verschiedene
> UInstanzen handelt, dass er den Eintrag so nicht findet?

Vermutlich. Ich kenne mich mit C# überhaupt noch nicht aus, aber ich vermute, dass er nach der Objektinstanz (Hash o. ä.) sucht. Du müsstest also eine eigene Vergleichsfunktion anlegen, die die Inhalte des Objekts und nicht das Objekt selber vergleicht.

Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz