Sollte ich eine Winforms-Kombinationsfeld SelectedItem, SelectedText oder SelectedValue?
Möchte ich einen Wert übergeben in einer combo-box als Parameter an eine SQL-Anweisung. Die Winforms-combobox gibt mir mehrere Optionen für das abrufen des Werts, nämlich SelectedItem, SelectedText, und SelectedValue. Welche ist am besten/sichersten zum in diesem Szenario verwenden?
- Was ist der Wert für die DropDownStyle-Eigenschaft?
Du musst angemeldet sein, um einen Kommentar abzugeben.
SelectedValue ist wahrscheinlich die beste zu verwenden
SelectedText geben Sie den ausgewählten text von der Bearbeitbare Teil, Ausgewählte Element zurückgeben Sie das Objekt und ausgewählten index zurückgeben, die Sie den index. In der Regel für Anwendungen SelectedValue wird extrahiert und verwendet werden.
Check-out Combobox-von der MSDN-Website
Text
ist wahrscheinlich die beste zu verwenden. Diese wird unabhängig von den aktuell ausgewählten text in der ComboBox als string.Für diese Art, man kann nicht den text aus der
ComboBox
. Diese gibt den string zurück, von dem Punkt, auf den derzeitSelectedIndex
statt.Kommt es auf 3 Dinge 1. Modus 2. DropDownStyle 3. Erforderlichen Wert
Auf ComboBox.SelectedIndexChanged
Ungebundene Modus
ein. DropDownStyle = DropDown
SelectedText zurück = SelectedText
b. DropDownStyle = DropDownList
Verwenden Daten Gebunden Modus (Bedeutet, Sie werden Auffüllen Ihr ComboBox-von einigen Daten-Quelle, die ich.e SQL-Server-Tabelle)
Wählen Sie eine Spalte der Tabelle als DisplayMember und die gleiche oder eine andere Spalte als ValueMember.
ein. DropDownStyle = DropDown
SelectedText zurück = SelectedText (Wert von DisplayMember)
b. DropDownStyle = DropDownList
Hinweis: Sie können auch verwenden .Text return = Text der ComboBox
Fazit:
Unboud Modus
Daten Gebunden-Modus
ein. ValueMember ist erforderlich
.SelectedValue ist die beste Wahl
b. DisplayMember ist erforderlich
SelectedItem scheint eine sichere Wahl.
Hatte ich diesen code:
...die stürzte mit einer NRE.
Nachdem es geändert, um dies:
...es funktioniert einwandfrei.