Freigeben über


Erstellen einer Suchtabelle mit der BindingSource-Komponente in Windows Forms

Eine Nachschlagetabelle ist eine Datentabelle mit einer Spalte, in der Daten aus Datensätzen in einer verknüpften Tabelle angezeigt werden. In den folgenden Verfahren wird ein ComboBox-Steuerelement für die Anzeige des Felds mit der Fremdschlüsselbeziehung von der übergeordneten zur untergeordneten Tabelle verwendet.

Um diese beiden Tabellen und diese Beziehung zu visualisieren, sehen Sie hier ein Beispiel für eine Elterntabelle und eine Kindtabelle:

CustomersTable (übergeordnete Tabelle)

Kunden-ID Kundenname
712 Paul Koch
713 Tamara Johnston

OrdersTable (untergeordnete Tabelle)

Bestell-ID Bestelldatum Kunden-ID
903 12. Februar 2004 712
904 13. Februar 2004 713

In diesem Szenario speichert eine Tabelle, CustomersTable, die tatsächlichen Informationen, die Sie anzeigen und speichern möchten. Um Platz zu sparen, hinterlässt die Tabelle jedoch Daten, die Klarheit schaffen. Die andere Tabelle, OrdersTable, enthält nur erscheinungsbezogene Daten darüber, welche Kunden-ID-Nummer welchem Bestelldatum und welcher Bestell-ID entspricht. Es gibt keine Erwähnung der Namen der Kunden.

Es sind vier wichtige Eigenschaften im ComboBox-Steuerelement für das Erstellen der Nachschlagetabelle festgelegt.

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

  • Die Eigenschaft DisplayMember enthält die Datenspalte dieser Tabelle, die für die Anzeige des Text-Steuerelements (der Name des Kunden) anzeigt werden soll.

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

  • Die Eigenschaft SelectedValue liefert den Nachschlagewert für die untergeordnete Tabelle auf Grundlage von ValueMember.

Die Verfahren unten zeigen, wie Sie das Formular als Nachschlagetabelle gestalten und Daten mit den Steuerelementen darauf binden. Um die Verfahren erfolgreich durchführen zu können, benötigen Sie eine Datenquelle mit über- und untergeordneten Tabellen, die – wie bereits erwähnt – eine Fremdschlüsselbeziehung haben.

So erstellen Sie die Benutzeroberfläche

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

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

  2. Ziehen Sie andere Steuerelemente zur Anzeige von Details aus der untergeordneten Tabelle. 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; damit können Sie die Daten in die untergeordnete Tabelle navigieren.

Um eine Verbindung mit den Daten herzustellen und sie an Steuerelemente zu binden

  1. Wählen Sie ComboBox aus und klicken Sie die Glyphe „Smarttask“, sodass das Dialogfeld „Smarttask“ angezeigt wird.

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

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

    1. Klicken Sie auf Projektdatenquelle hinzufügen, um die Daten zu verbinden und die Datenquelle zu eröffnen.

    2. Klicken Sie auf der Startseite des Assistenten 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 aus der Liste verfügbar Verbindungen aus. Wenn Die gewünschte Datenverbindung nicht verfügbar ist, wählen Sie Neue Verbindung aus, um eine neue Datenverbindung zu erstellen.

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

    6. Wählen Sie die Datenbankobjekte aus, die in Ihre Anwendung aufgenommen werden sollen. In diesem Fall wählen Sie eine übergeordnete und eine untergeordnete Tabelle (z. B. Kunden und Bestellungen) mit einer Fremdschlüsselbeziehung.

    7. Ersetzen Sie bei Bedarf den Standarddatensatznamen.

    8. Klicken Sie auf Fertig stellen.

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

  5. Wählen Sie im Dropdownfeld Wertemember die Spalte (z.B. CustomerID) für das Durchführen des Nachschlagevorgangs in der untergeordneten Tabelle aus.

  6. Navigieren Sie im Dropdownfeld Ausgewählter Wert zu Projektdatenquellen und dem eben erstellten Dataset mit den über- und untergeordneten Tabellen. Wählen Sie dieselbe Eigenschaft der untergeordneten Tabelle aus, die ein Wertemember der übergeordneten Tabelle ist (z. B. Orders.CustomerID). Das entsprechende Datenset BindingSource und die Tabellenadapterkomponenten werden erstellt und dem Formular hinzugefügt.

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

  8. Binden Sie die Steuerelement außer ComboBox und BindingNavigator an das Feld „Details“ aus der BindingSource der untergeordneten Tabelle (z. B. OrdersBindingSource), die Sie anzeigen möchten.

Weitere Informationen