Um den Wert für eine listbox-Element vom index
Diese müssen sehr leicht sein, aber ich bin stecken geblieben.
Ich habe eine listBox mit X-Elementen. Jedes Element hat einen text der Beschreibung (erscheint in der listBox) und seinen Wert(numerisch).
Ich möchte in der Lage sein, um die value-Eigenschaft eines Elements mit dem index-Nummer des Elements.
WPF, WinForms, Silverlight oder ASP.NET?
Fügen Sie einige tags, die Details, was Sie verwenden, wie Daniel Hilgarth oben gesagt.
Arbeiten Sie an einem windows forms Anwendung??
Die Antwort hängt von der Einstellung der listbox. aber eine unabhängige Antwort, nehmen Sie einen Blick an diesem post.
Fügen Sie einige tags, die Details, was Sie verwenden, wie Daniel Hilgarth oben gesagt.
Arbeiten Sie an einem windows forms Anwendung??
Die Antwort hängt von der Einstellung der listbox. aber eine unabhängige Antwort, nehmen Sie einen Blick an diesem post.
InformationsquelleAutor tzam | 2011-06-28
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wäre es
DataRowView
oder ein Komplexes Objekt oder andere Arten. Zugrunde liegende Wert eines Elements berechnet werden sollte, die Basis, aufValueMember
.InformationsquelleAutor user3666179
Hier ich kann nicht sehen, sogar eine einzige richtige Antwort für diese Frage (in WinForms-tag) und es ist schon seltsam für so häufige Frage.
Elemente einer
ListBox
Kontrolle kannDataRowView
, Komplexe Objekte, Anonyme Typen, primär-und andere Arten. Zugrunde liegende Wert eines Elements berechnet werden sollte, die Basis, aufValueMember
.ListBox
Kontrolle hatGetItemText
die hilft Ihnen, erhalten Sie den text des Elements unabhängig von der Art des Objekts, das Sie Hinzugefügt wurde, als Element. Es braucht wirklich solcheGetItemValue
Methode.GetItemValue Erweiterung Methode
Erstellen wir
GetItemValue
extension-Methode zu bekommen, Artikel-Wert, die funktioniert wieGetItemText
:Unter Verwendung der obigen Methode, die Sie müssen sich keine Gedanken über Einstellungen der
ListBox
und es wird zurück erwartetValue
für ein Element. Es funktioniert mitList<T>
,Array
,ArrayList
,DataTable
, Liste von Anonymen Typen, Liste der primär-Arten und alle anderen Listen, die Sie verwenden können als Datenquelle. Hier ist ein Beispiel der Verwendung:Da haben wir die
GetItemValue
Methode als eine Erweiterung Methode, wenn Sie möchten, verwenden Sie die Methode, vergessen Sie nicht, den namespace, die Sie stellen der Klasse.Diese Methode ist anwendbar auf
ComboBox
undCheckedListBox
zu.InformationsquelleAutor Reza Aghaei
Wenn Sie arbeiten auf einem windows forms-Projekt können Sie Folgendes versuchen:
Elemente hinzufügen, um den
ListBox
alsKeyValuePair
Objekte:Dann werden Sie in der Lage sein, rufen Sie die folgende Weise:
Arbeiten Sie an einem windows forms Anwendung??
das ist richtig Akram
Ich habe bearbeitet meine Antwort. Es wird funktionieren, wenn Sie mit der beschriebenen Methode ...
Die listbox ist Datenbindung, so ist es automatisch aufgefüllt... haben Sie eine Idee, wie es funktionieren könnte, auf diese Weise? Außer, dass deine Antwort funktioniert und war eine große Hilfe!!!
InformationsquelleAutor Akram Shahda
Ich bin über eine BindingSource mit einem SqlDataReader dahinter und keiner der oben genannten arbeiten für mich.
Frage an Microsoft: Warum funktioniert das:
Aber nicht?
Ich finde, ich habe zu gehen zurück zu dem BindingSource-Objekt, wirf es als ein System.Daten.Common.DbDataRecord, und dann finden Sie in der Spalte name:
Nun, das ist einfach nur lächerlich.
Ein Element in
Items
SammlungListBox
ist vom Typ object und nichtValue
Eigenschaft. Das Element kann einDataRowView
, ein Komplexes Objekt oder einen primären Typ. Der Wert berechnet werden soll, mitValueMember
Eigenschaft, auf die gleiche WeiseSelectedValue
funktioniert.InformationsquelleAutor Mike K
Angenommen, Sie möchten den Wert des ersten Elements.
InformationsquelleAutor Bibhu
Diese funktioniert bei mir:
ListBox.Items
ist der TypSystem.Windows.Forms.ListBox.ObjectCollection
was bedeutetListBox.Items[index]
ist ein Objekt, das nicht über eine Value-Eigenschaft !!Dies war eine Antwort für WebForms, denn er bezieht sich auf Einstellungen ein Text und Wert hat, der mich davon ausgehen, WebForms, nicht WinForms.
InformationsquelleAutor DaveShaw
dies einfach mal probieren
'listBox' Ihre Liste, und 'yu' ist ein nachweislich um die der Wert an index 0 zugewiesen werden
DataRowView
oder ein Komplexes Objekt oder andere Arten. Der zugrunde liegende Wert eines Elements berechnet werden sollte, die Basis, aufValueMember
.InformationsquelleAutor Jair Martinez