Gewusst wie: Erstellen einer Suchtabelle mit der BindingSource-Komponente in Windows Forms

Aktualisiert: November 2007

Eine Suchtabelle ist eine Datentabelle mit einer Spalte, in der Daten aus Datensätzen in einer zugehörigen Tabelle angezeigt werden. In den folgenden Prozeduren wird ein ComboBox-Steuerelement verwendet, um das Feld mit der Fremdschlüsselbeziehung zwischen der übergeordneten und der untergeordneten Tabelle anzuzeigen.

Zur einfacheren Visualisierung dieser beiden Tabellen und der Beziehung finden Sie im Folgenden ein Beispiel einer übergeordneten und einer untergeordneten Tabelle:

CustomersTable (übergeordnete Tabelle)

CustomerID

CustomerName

712

Paul Koch

713

Tamara Johnston

OrdersTable (untergeordnete Tabelle)

OrderID

OrderDate

CustomerID

903

12. Februar 2004

712

904

13. Februar 2004

713

In diesem Szenario enthält die Tabelle CustomersTable die Informationen, die Sie anzeigen und speichern möchten. Um aber Platz zu sparen, werden in der Tabelle erläuternde Daten weggelassen. Die andere Tabelle, OrdersTable, enthält ausschließlich darstellungsbezogene Informationen darüber, welche Kunden-ID welchem Auftragsdatum und welcher Auftrags-ID entspricht. Die Namen der Kunden werden nicht genannt.

Auf dem ComboBox-Steuerelement (Windows Forms)-Steuerelement werden vier wichtige Eigenschaften festgelegt, um die Suchtabelle zu erstellen.

  • Die DataSource-Eigenschaft enthält nur den Namen der Tabelle.

  • Die DisplayMember-Eigenschaft enthält die Datenspalte der Tabelle, die im Steuerelementtext angezeigt werden soll (der Name des Kunden).

  • Die ValueMember-Eigenschaft enthält die Datenspalte der Tabelle mit der gespeicherten Information (die ID-Nummer in der übergeordneten Tabelle).

  • Die SelectedValue-Eigenschaft stellt auf der Grundlage des ValueMember den Suchwert für die untergeordnete Tabelle bereit.

Die folgenden Prozeduren veranschaulichen, wie Sie das Formular als Suchtabelle erstellen und Daten an die darauf enthaltenen Steuerelemente binden. Die erfolgreiche Durchführung der Prozeduren setzt voraus, dass Sie über eine Datenquelle mit übergeordneten und untergeordneten Tabellen verfügen, zwischen denen, wie bereits erwähnt, eine Fremdschlüsselbeziehung besteht.

So erstellen Sie eine Benutzeroberfläche

  1. Ziehen Sie ein ComboBox-Steuerelement aus der Toolbox auf das Formular.

    Dieses Steuerelement zeigt die Spalte aus der übergeordneten Tabelle an.

  2. Ziehen Sie weitere Steuerelemente, um Details aus der untergeordneten Tabelle anzuzeigen. Das Format der Daten in der Tabelle sollte bestimmen, welche Steuerelemente Sie auswählen. Weitere Informationen finden Sie unter Windows Forms-Steuerelemente nach Funktion.

  3. Ziehen Sie ein BindingNavigator-Steuerelement auf das Formular. Dadurch können Sie zwischen den Daten in der untergeordneten Tabelle navigieren.

So stellen Sie eine Verbindung mit den Daten her und binden sie an Steuerelemente

  1. Wählen Sie die ComboBox aus, und klicken Sie auf das Smarttasksymbol, um das Dialogfeld Smarttask anzuzeigen.

  2. Wählen Sie An Daten gebundene Elemente verwenden aus.

  3. Klicken Sie auf den Pfeil neben dem Dropdownfeld Datenquelle. Wenn zuvor eine Datenquelle für das Projekt oder das Formular konfiguriert wurde, wird sie angezeigt. Führen Sie andernfalls die folgenden Schritte aus. (In diesem Beispiel werden die Tabellen Customers und Orders aus der Beispieldatenbank Northwind verwendet und in Klammern angegeben).

    1. Klicken Sie auf Projektdatenquelle hinzufügen, um eine Verbindung zu Daten herzustellen und eine Datenquelle zu erstellen.

    2. Klicken Sie auf der Willkommensseite im Assistent zum Konfigurieren von Datenquellen auf Weiter.

    3. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank aus.

    4. Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus eine Datenverbindung in der Liste der verfügbaren Verbindungen aus. Wenn die gewünschte Datenverbindung nicht verfügbar ist, wählen Sie Neue Verbindung aus, um eine neue Datenverbindung zu erstellen. Weitere Informationen finden Sie unter Dialogfeld "Verbindung hinzufügen/ändern" (Allgemein).

    5. Klicken Sie auf Ja, Verbindung speichern, um die Verbindungszeichenfolge in der Anwendungskonfigurationsdatei zu speichern.

    6. Wählen Sie die Datenbankobjekte aus, die in die Anwendung eingefügt werden sollen. Wählen Sie in diesem Fall eine übergeordnete und eine untergeordnete Tabelle (z. B. Customers und Orders) mit einer Fremdschlüsselbeziehung aus.

    7. Ersetzen Sie den Standarddatasetnamen, falls gewünscht.

    8. Klicken Sie auf Fertig stellen.

  4. Wählen Sie im Dropdownfeld Member anzeigen den Spaltennamen (z. B. ContactName) aus, der im Kombinationsfeld angezeigt werden soll.

  5. Wählen Sie im Dropdownfeld Wertemember die Spalte (z. B. CustomerID) aus, die die Suchoperation in der untergeordneten Tabelle ausführen soll.

  6. Navigieren Sie im Dropdownfeld Ausgewählter Wert zu Projektdatenquellen und dem zuvor erstellten Dataset mit den über- und untergeordneten Tabellen. Wählen Sie als Eigenschaft für die untergeordnete Tabelle den Wertemember der übergeordneten Tabelle aus (z. B. Orders.CustomerID). Die entsprechenden BindingSource- , Dataset- und TableAdapter-Komponenten werden erstellt und dem Formular hinzugefügt.

  7. Binden Sie das BindingNavigator-Steuerelement an die BindingSource der untergeordneten Tabelle (z. B. OrdersBindingSource).

  8. Binden Sie die Steuerelemente mit Ausnahme des ComboBox-Steuerelements und des BindingNavigator-Steuerelements an die Detailfelder aus der BindingSource der untergeordneten Tabelle (z. B. OrdersBindingSource), die Sie anzeigen möchten.

Siehe auch

Referenz

BindingSource

Weitere Ressourcen

BindingSource-Komponente

ComboBox-Steuerelement (Windows Forms)

Anzeigen von Daten in Formularen in Windows-Anwendungen