Freigeben über


Vorgehensweise: Erstellen einer Nachschlagetabelle für ein Windows Forms ComboBox-, ListBox- oder CheckedListBox-Steuerelement

Manchmal ist es nützlich, Daten in einem benutzerfreundlichen Format in einem Windows Form anzuzeigen, aber speichern Sie die Daten in einem Format, das für Ihr Programm aussagekräftiger ist. Beispielsweise kann ein Bestellformular für Lebensmittel die Menüelemente nach Namen in einem Listenfeld anzeigen. Die Datentabelle, in der die Bestellung erfasst wird, würde jedoch die eindeutigen ID-Nummern enthalten, die das Essen darstellen. Die folgenden Tabellen zeigen ein Beispiel zum Speichern und Anzeigen von Bestellformulardaten für Lebensmittel.

BestelldetailsTabelle

Bestell-ID Artikel-ID Menge
4085 12 1
4086 13 3

ArtikelTabelle

Identifikationsnummer Name
12 Kartoffel
13 Huhn

In diesem Szenario speichert eine Tabelle, OrderDetailsTable, die tatsächlichen Informationen, die für die Anzeige und Speicherung relevant sind. Aber um Platz zu sparen, tut dies in einer ziemlich kryptischen Weise. Die andere Tabelle , ItemTable, enthält nur darstellungsbezogene Informationen dazu, welche ID-Nummer dem Lebensmittelnamen entspricht, und nichts über die tatsächlichen Lebensmittelbestellungen.

Die ItemTable ist über drei Eigenschaften mit dem ComboBox, ListBoxoder CheckedListBox dem Steuerelement verbunden. Die DataSource Eigenschaft enthält den Namen dieser Tabelle. Die DisplayMember Eigenschaft enthält die Datenspalte dieser Tabelle, die im Steuerelement angezeigt werden soll (der Lebensmittelname). Die ValueMember Eigenschaft enthält die Datenspalte dieser Tabelle mit den gespeicherten Informationen (die ID-Nummer).

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

So erstellen Sie eine Nachschlagetabelle

  1. Fügen Sie dem Formular ein ComboBox, ListBox, oder CheckedListBox Steuerelement hinzu.

  2. Stellen Sie eine Verbindung mit Ihrer Datenquelle her.

  3. Richten Sie eine Datenbeziehung zwischen den beiden Tabellen ein. Siehe Einführung in DataRelation-Objekte.

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

    Eigentum Konfiguration
    DataSource Die Tabelle, die Informationen darüber enthält, welche ID-Nummer dem Element entspricht. Im vorherigen Szenario ist dies ItemTable.
    DisplayMember Die Spalte der Datenquellentabelle, die im Steuerelement angezeigt werden soll. Im vorherigen Szenario ist dies "Name" (um es im Code festzulegen, verwenden Sie Anführungszeichen).
    ValueMember Die Spalte der Datenquellentabelle, die die gespeicherten Informationen enthält. Im vorherigen Szenario ist dies "ID" (um es im Code festzulegen, verwenden Sie Anführungszeichen).
  5. Rufen Sie in einer Prozedur die Add Methode der ControlBindingsCollection Klasse auf, um die Eigenschaft des Steuerelements SelectedValue an die Tabelle zu binden, in der die Formulareingabe aufgezeichnet wird. Sie können dies auch im Designer statt im Code tun, indem Sie im DataBindings auf die Eigenschaft des Steuerelements zugreifen. Im vorherigen Szenario lautet OrderDetailsTable dies, und die Spalte ist "ItemID".

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

Siehe auch