Gewusst wie: Erstellen einer Suchtabelle für ComboBox-, ListBox- oder CheckedListBox-Steuerelemente in Windows Forms

Aktualisiert: November 2007

Auch wenn es sinnvoll ist, Daten in Windows Forms in einem benutzerfreundlichen Format anzuzeigen, müssen Daten in einem Format gespeichert werden, das für das Programm verständlich ist. Beispielsweise können die Speisen in einem Essensbestellformular mit Namen in einem Listenfeld aufgeführt sein, während die Datentabelle, in der die Bestellung registriert wird, die eindeutigen ID-Nummern der einzelnen Speisen enthält. Die folgenden Tabellen enthalten ein Beispiel dazu, wie Daten für ein Essensbestellformular gespeichert und angezeigt werden.

OrderDetailsTable

OrderID

ItemID

Menge

4085

12

1

4086

13

3

ItemTable

ID

Name

12

Kartoffeln

13

Huhn

In diesem Szenario werden in der einen Tabelle, der Tabelle OrderDetailsTable, die tatsächlichen Informationen gespeichert, die angezeigt und gespeichert werden müssen. Aus Platzgründen geschieht dies jedoch auf ziemlich kryptische Art und Weise. Die andere Tabelle, ItemTable, enthält nur darstellungsbezogene Informationen hinsichtlich der Zuordnung von ID-Nummern zu Speisennamen und keinerlei Angaben zu den tatsächlichen Bestellungen.

Die ItemTable ist durch drei Eigenschaften mit den Steuerelementen ComboBox, ListBox oder CheckedListBox verbunden. Die DataSource -Eigenschaft enthält nur den Namen dieser Tabelle. Die DisplayMember-Eigenschaft enthält die Datenspalte der Tabelle, die im Steuerelement angezeigt werden soll (der Speisenname). Die ValueMember -Eigenschaft enthält die Datenspalte der Tabelle mit der gespeicherten Information (die ID-Nummer).

Die OrderDetailsTable ist mit dem Steuerelement über ihre Bindungsauflistung verbunden, auf die über die DataBindings-Eigenschaft zugegriffen wird. Wenn Sie der Auflistung ein Bindungsobjekt hinzufügen, verbinden Sie eine Steuerelementeigenschaft mit einem bestimmten Datenmember (der Spalte mit den ID-Nummern) in einer Datenquelle (der OrderDetailsTable). Wenn im Steuerelement eine Auswahl vorgenommen wird, wird die Formulareingabe in dieser Tabelle gespeichert.

So erstellen Sie eine Suchtabelle

  1. Fügen Sie eines der folgenden Steuerelemente zu dem Formular hinzu: ComboBox, ListBox oder CheckedListBox.

  2. Stellen Sie die Verbindung zur Datenquelle her.

  3. Stellen Sie eine Datenbeziehung zwischen den beiden Tabellen her.

  4. Legen Sie die folgenden Eigenschaften fest. Sie können im Code oder im Designer festgelegt werden.

    Eigenschaft

    Einstellung

    DataSource

    Die Tabelle, in der aufgeführt wird, welche ID-Nummer welchem Element entspricht. Im vorherigen Szenario ist dies ItemTable.

    DisplayMember

    Die Spalte der Datenquellentabelle, die Sie im Steuerelement anzeigen möchten. Im vorherigen Szenario ist dies "Name" (muss im Code in Anführungszeichen gesetzt werden).

    ValueMember

    Die Spalte der Datenquellentabelle, in der die gespeicherten Informationen enthalten sind. Im vorherigen Szenario ist dies "ID" (muss im Code in Anführungszeichen gesetzt werden).

  5. Rufen Sie in einer Prozedur die Add-Methode der ControlBindingsCollection-Klasse auf, um die SelectedValue-Eigenschaft des Steuerelements an die Tabelle zu binden, in der die Formulareingabe aufgezeichnet wird. Anstelle von Code können Sie hierzu auch den Designer verwenden, indem Sie die DataBindings-Eigenschaft des Steuerelements im Eigenschaftenfenster aufrufen. Im vorherigen Szenario ist dies OrderDetailsTable, und die Spalte ist "ItemID".

    ListBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID")
    
    listBox1.DataBindings.Add("SelectedValue", OrderDetailsTable, "ItemID");
    
    listBox1.get_DataBindings().Add("SelectedValue", OrderDetailsTable, "ItemID");
    

Siehe auch

Konzepte

Datenbindung und Windows Forms

Referenz

Übersicht über das ListBox-Steuerelement (Windows Forms)

Übersicht über das ComboBox-Steuerelement (Windows Forms)

Übersicht über das CheckedListBox-Steuerelement (Windows Forms)

Weitere Ressourcen

Steuerelemente in Windows Forms zum Auflisten von Optionen