C#: Wie binden ListBox DisplayMember und ValueMember Ergebnis aus der class-Methode?
Ich versuche zu schaffen, ListBox, wo ich die Schlüssel-Wert-paar. Diese Daten bekam ich von der Klasse, die von der Getter.
Klasse:
public class myClass
{
private int key;
private string value;
public myClass() { }
public int GetKey()
{
return this.key;
}
public int GetValue()
{
return this.value;
}
}
Programm:
private List<myClass> myList;
public void Something()
{
myList = new myList<myClass>();
//code for fill myList
this.myListBox.DataSource = myList;
this.myListBox.DisplayMember = ??; //wanted something like myList.Items.GetValue()
this.myListBox.ValueMember = ??; //wanted something like myList.Items.GetKey()
this.myListBox.DataBind();
}
Es ist ähnlich zu diesem Thema [ Nicht-Schlüssel-Wert in der listbox in C# ] aber ich muss an der Klasse, die Rückgabe-Werte von Methoden.
Ist es möglich, zu tun etwas einfach, oder ich würde besser arbeiten meine Gedanken fließen (und diese Lösung) vollständig?
Danke für die Ratschläge!
myList
ist einlist<myclass>
. Also selbst wenn Sie sagen, kannmyList.Items.GetValue()
dann, für die insbesonderemyclass
Objekt sollte es sichkey/value
? also, es ist nicht logisch überhaupt.- Danke. Ich bin Anfänger und wusste nicht, wie man erstellen Sie Ihre eigene Eigenschaften und wozu es gut ist. Jetzt löst es mein problem!
InformationsquelleAutor Andebaran | 2014-08-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
DisplayMember
undValueMember
Eigenschaften erfordern den Namen (als string) der Eigenschaft verwendet werden. Sie können nicht verwenden eine Methode. So haben Sie zwei Möglichkeiten. Ändern Sie die Klasse zurückzukehren Eigenschaften oder eine abgeleitete Klasse von myClass wo könnte man hinzufügen, die beiden fehlenden EigenschaftenNun, dass Sie diese änderungen gemacht haben, Sie könnte sich ändern Sie Ihre Liste mit der neuen Klasse (aber Update der Initialisierung)