Exemplarische Vorgehensweise: Übergeben von Daten zwischen Formularen in einer Windows-Anwendung

Aktualisiert: November 2007

Diese exemplarische Vorgehensweise enthält Schritt-für-Schritt-Anweisungen für das Übergeben von Daten von einem Formular an ein anderes. Durch die Verwendung der Kunden- und Auftragstabellen eines Northwind-Formulars können Benutzer einen Kunden auswählen, und auf einem zweiten Formular werden die Bestellungen des ausgewählten Benutzers angezeigt. In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie eine Methode auf einem Formular erstellt wird, das Daten vom ersten Formular empfängt.

Hinweis:

In dieser exemplarischen Vorgehensweise wird nur eine Möglichkeit veranschaulicht, Daten zwischen Formularen zu übergeben. Alternativ können Sie auch einen zweiten Konstruktor erstellen, der die Daten empfängt, oder Sie können eine öffentliche Eigenschaft erstellen, die mit Daten aus dem ersten Formular definiert wird.

Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:

  • Erstellen eines neuen Windows-Anwendung-Projekts.

  • Erstellen und Konfigurieren eines Datasets mithilfe von Assistent zum Konfigurieren von Datenquellen.

  • Auswählen des Steuerelements, das für das Formular erstellt werden soll, wenn Elemente aus dem Datenquellenfenster gezogen werden. Weitere Informationen finden Sie unter Gewusst wie: Festlegen des Steuerelements, das beim Ziehen aus dem Datenquellenfenster erstellt werden soll.

  • Erstellen eines datengebundenen Steuerelements, indem Elemente aus dem Datenquellenfenster auf das Formular gezogen werden.

  • Erstellen eines zweiten Formulars mit einem Datenblatt zum Anzeigen von Daten.

  • Erstellen einer TableAdapter-Abfrage zum Abrufen der Bestellungen eines bestimmten Kunden.

  • Übergabe von Daten zwischen Formularen.

Vorbereitungsmaßnahmen

Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

Erstellen der Windows-Anwendung

So erstellen Sie das neue Windows-Projekt

  1. Erstellen Sie im Menü Datei ein neues Projekt.

  2. Nennen Sie das Projekt PassingDataBetweenForms.

  3. Wählen Sie Windows-Anwendung aus, und klicken Sie auf OK. Weitere Informationen finden Sie unter Erstellen von Windows-basierten Anwendungen.

    Das Projekt PassingDataBetweenForms wird erstellt und dem Projektmappen-Explorer hinzugefügt.

Erstellen der Datenquelle

So erstellen Sie die Datenquelle

  1. Klicken Sie im Menü Daten auf Datenquellen anzeigen.

  2. Wählen Sie im Datenquellenfenster die Option Neue Datenquelle hinzufügen aus, um den Assistenten zum Konfigurieren von Datenquellen zu starten.

  3. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank aus, und klicken Sie dann auf Weiter.

  4. Gehen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus auf eine der folgenden Arten vor:

    • Wenn eine Datenverbindung zur Beispieldatenbank Northwind in der Dropdownliste verfügbar ist, wählen Sie sie aus.

      – oder –

    • Wählen Sie Neue Verbindung aus, um das Dialogfeld Verbindung hinzufügen/ändern zu öffnen. Weitere Informationen finden Sie unter Dialogfeld "Verbindung hinzufügen/ändern" (Allgemein).

  5. Wenn für die Datenbank ein Kennwort erforderlich ist und wenn die Option für die Einbeziehung vertraulicher Daten vorhanden ist, aktivieren Sie die Option, und klicken Sie dann auf Weiter.

  6. Klicken Sie auf der Seite Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern auf Weiter.

  7. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

  8. Wählen Sie die Tabellen Customers und Orders aus, und klicken Sie auf Fertig stellen.

    Das NorthwindDataSet wird dem Projekt hinzugefügt, und die Tabellen Customers und Orders werden im Datenquellenfenster angezeigt.

Erstellen des ersten Formulars (Form1)

Sie können ein datengebundenes Raster (ein DataGridView-Steuerelement) erstellen, indem Sie den Knoten Customers aus dem Datenquellenfenster auf das Formular ziehen.

So erstellen Sie ein datengebundenes Raster auf dem Formular

Erstellen des zweiten Formulars (Form2)

So erstellen Sie ein zweites Formular, an das die Daten übergeben werden

  1. Klicken Sie im Menü Projekt auf Windows Form hinzufügen.

  2. Übernehmen Sie den Standardnamen Form2, und klicken Sie auf Hinzufügen.

  3. Ziehen Sie den Hauptknoten Orders aus dem Datenquellenfenster auf Form2.

    Auf Form2 werden eine DataGridView und ein ToolStrip-Element (BindingNavigator) angezeigt, mit denen Sie durch die Datensätze navigieren können. NorthwindDataSet, CustomersTableAdapter, BindingSource und BindingNavigator werden im Komponentenfach angezeigt.

  4. Löschen Sie OrdersBindingNavigator aus dem Komponentenfach.

    OrdersBindingNavigator wird auf Form2 nicht mehr angezeigt.

Hinzufügen einer TableAdapter-Abfrage zu Form2 zum Laden von Bestellungen des ausgewählten Kunden in Form1

So erstellen Sie eine TableAdapter-Abfrage

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Datei NorthwindDataSet.xsd.

  2. Klicken Sie mit der rechten Maustaste auf OrdersTableAdapter, und wählen Sie Abfrage hinzufügen aus.

  3. Lassen Sie die Standardoption SQL-Anweisungen verwenden aktiviert, und klicken Sie auf Weiter.

  4. Lassen Sie die Standardoption SELECT-Anweisung, die Zeilen zurückgibt aktiviert, und klicken Sie auf Weiter.

  5. Fügen Sie der Abfrage eine WHERE-Klausel hinzu, um Orders basierend auf der CustomerID zurückzugeben. Die Abfrage könnte folgendermaßen aussehen:

    SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry
    FROM Orders 
    WHERE CustomerID = @CustomerID
    
    Hinweis:

    Stellen Sie sicher, dass die Parametersyntax für die Datenbank korrekt ist. In Microsoft Access würde die WHERE-Klausel z. B. wie folgt aussehen: WHERE CustomerID = ?.

  6. Klicken Sie auf Weiter.

  7. Geben Sie für DataTable füllen als Methodenname den Wert FillByCustomerID ein.

  8. Deaktivieren Sie die Option DataTable zurückgeben, und klicken Sie dann auf Weiter.

  9. Klicken Sie auf Fertig stellen.

Erstellen einer Methode auf Form2, an die Daten übergeben werden

So erstellen Sie eine Methode, an die Daten übergeben werden

  1. Klicken Sie mit der rechten Maustaste auf Form2, und wählen Sie Code anzeigen aus, um Form2 im Code-Editor zu öffnen.

  2. Ersetzen Sie die Form2_Load-Methode, die dem Formular automatisch hinzugefügt wurde, durch den folgenden Code:

    Friend Sub LoadOrders(ByVal CustomerID As String)
        OrdersTableAdapter.FillByCustomerID(NorthwindDataSet.Orders, CustomerID)
    End Sub
    
    internal void LoadOrders(String CustomerID)
    {
        ordersTableAdapter.FillByCustomerID(northwindDataSet.Orders, CustomerID);
    }
    

Erstellen einer Methode auf Form1 zum Übergeben von Daten und zum Anzeigen von Form2

So erstellen Sie eine Methode, mit der Daten an Form2 übergeben werden

  1. Klicken Sie mit der rechten Maustaste auf Form1, und wählen Sie Code anzeigen aus, um Form1 im Code-Editor zu öffnen.

  2. Fügen Sie Form1 unter der Form1_Load-Methode den folgenden Code hinzu:

    Private Sub CustomersDataGridView_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles CustomersDataGridView.DoubleClick
    
        Dim SelectedRowView As Data.DataRowView
        Dim SelectedRow As NorthwindDataSet.CustomersRow
    
        SelectedRowView = CType(CustomersBindingSource.Current, System.Data.DataRowView)
        SelectedRow = CType(SelectedRowView.Row, NorthwindDataSet.CustomersRow)
    
        Dim OrdersForm As New Form2
        OrdersForm.LoadOrders(SelectedRow.CustomerID)
        OrdersForm.Show()
    End Sub
    
    private void customersDataGridView_DoubleClick(object sender, EventArgs e)
    {
        System.Data.DataRowView SelectedRowView;
        NorthwindDataSet.CustomersRow SelectedRow;
    
        SelectedRowView = (System.Data.DataRowView)customersBindingSource.Current;
        SelectedRow = (NorthwindDataSet.CustomersRow)SelectedRowView.Row;
    
        Form2 OrdersForm = new Form2();
        OrdersForm.LoadOrders(SelectedRow.CustomerID);
        OrdersForm.Show();
    }
    

Ausführen der Anwendung

So führen Sie die Anwendung aus

  • Drücken Sie F5, um die Anwendung auszuführen.

  • Doppelklicken Sie in Form1 auf einen Kundendatensatz, um Form2 mit den Bestellungen dieses Kunden zu öffnen.

Nächste Schritte

Je nach den Anforderungen der Anwendung können nach dem Übergeben von Daten zwischen Formularen weitere Schritte sinnvoll sein. Sie können an dieser exemplarischen Vorgehensweise beispielsweise folgende Verbesserungen vornehmen:

Siehe auch

Konzepte

Übersicht über das Anzeigen von Daten

Übersicht über Datenquellen

Übersicht über TableAdapters

Weitere Ressourcen

Exemplarische Vorgehensweisen zur Arbeit mit Daten

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Anzeigen von Daten in Formularen in Windows-Anwendungen

Bearbeiten von Daten in der Anwendung

Überprüfen von Daten

Speichern von Daten