Vorgehensweise: Hinzufügen der Schaltflächen für das Laden, Speichern und Abbrechen zum BindingNavigator-Steuerelement in Windows Forms

Das BindingNavigator-Steuerelement ist ein spezielles ToolStrip-Steuerelement, das zum Navigieren und Bearbeiten von Steuerelementen in Ihrem Formular dient, die an Daten gebunden sind.

Da es sich um ein ToolStrip-Steuerelement handelt, kann die BindingNavigator-Komponente leicht geändert werden, um zusätzliche oder alternative Befehle für den Benutzer einzubeziehen.

In der folgenden Prozedur wird ein TextBox-Steuerelement an Daten gebunden, und das dem Formular hinzugefügte ToolStrip-Steuerelement wird so geändert, dass es Schaltflächen zum Laden, Speichern und Abbrechen enthält.

Hinzufügen von Schaltflächen zum Laden, Speichern und Abbrechen zur BindingNavigator-Komponente

  1. Fügen Sie in Visual Studio ein TextBox-Steuerelement zu Ihrem Formular hinzu.

  2. Binden Sie es an eine BindingSource-Instanz, die an eine Datenquelle gebunden ist. In diesem Beispiel ist die BindingSource-Instanz an eine Datenbank gebunden.

  3. Nachdem der Datensatz und der Tabellenadapter generiert wurden, ziehen Sie ein BindingNavigator-Steuerelement auf das Formular.

  4. Legen Sie die BindingSource-Eigenschaft des BindingNavigator-Steuerelements auf die BindingSource-Eigenschaft des Formulars fest, das an die Steuerelemente gebunden ist.

  5. Wählen Sie das BindingNavigator-Steuerelement.

  6. Klicken Sie auf die Glyphe für Designeraktionen (Small black arrow), sodass das Dialogfeld BindingNavigator-Aufgaben angezeigt wird, und wählen Sie Elemente bearbeiten aus.

    Der Elementauflistungs-Editor wird angezeigt.

  7. Führen Sie im Elementauflistungs-Editor die folgenden Schritte aus:

    1. Fügen Sie ein ToolStripSeparator- und drei ToolStripButton-Elemente hinzu, indem Sie den entsprechenden Typ von ToolStripItem auswählen und auf die Schaltfläche Hinzufügen klicken.

    2. Legen Sie die Name-Eigenschaft der Schaltflächen auf LoadButton, SaveButton bzw. CancelButton fest.

    3. Legen Sie die Text-Eigenschaft der Schaltflächen auf Load, Save und Cancel fest.

    4. Legen Sie die DisplayStyle-Eigenschaft für jede der Schaltflächen auf Text fest. Alternativ können Sie diese Eigenschaft auch auf Image oder ImageAndText und das anzuzeigende Bild in der Image-Eigenschaft festlegen.

    5. Klicken Sie auf OK , um das Dialogfeld zu schließen. Die Schaltflächen werden zur ToolStrip-Instanz hinzugefügt.

  8. Klicken Sie mit der rechten Maustaste in das Formular, und wählen Sie Code anzeigen aus.

  9. Suchen Sie im Code-Editor die Codezeile, die Daten in den Tabellenadapter lädt. Dieser Code wurde generiert, als Sie in Schritt 2 die Datenbindung eingerichtet haben. Der Code sollte ähnlich wie der folgende aussehen: TableAdapterName.Fill(DataSetName.TableName). Wahrscheinlich wird dies im Load-Ereignis des Formulars erfolgen.

  10. Erstellen Sie einen Ereignishandler für das Click-Ereignis von LoadToolStripButton, das Sie zuvor erstellt haben, und verschieben Sie diesen Code zum Laden von Daten dorthin.

    Ihr Code sollte jetzt dem folgenden Code ähnlich sehen:

    Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click
        TableAdapterName.Fill(DataSetName.TableName)
    End Sub
    
    private void LoadButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Fill(DataSetName.TableName);
    }
    
  11. Erstellen Sie einen Ereignishandler für das Click-Ereignis des zuvor erstellten SaveToolStripButton und schreiben Sie Code, um die Daten in der Tabelle zu aktualisieren, an die das Steuerelement gebunden ist.

    Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
        TableAdapterName.Update(DataSetName.TableName)
    End Sub
    
    private void SaveButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Update(DataSetName.TableName);
    }
    

    Hinweis

    In einigen Fällen verfügt die BindingNavigator-Komponente bereits über eine Schaltfläche Speichern, aber es wurde kein Code vom Windows Forms-Designer generiert. In diesem Fall können Sie den vorangehenden Code in den Click-Ereignishandler für diese Schaltfläche einfügen, anstatt eine völlig neue Schaltfläche auf der ToolStrip-Instanz zu erstellen. Die Schaltfläche ist jedoch standardmäßig deaktiviert, sodass Sie die Enabled-Eigenschaft der Schaltfläche auf true festlegen müssen, damit die Schaltfläche ordnungsgemäß funktioniert.

  12. Erstellen Sie einen Ereignishandler für das Click-Ereignis des zuvor erstellten CancelToolStripButton und schreiben Sie Code, um alle Änderungen an dem angezeigten Datensatz rückgängig zu machen.

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click
        BindingSourceName.CancelEdit()
    End Sub
    
    private void CancelButton_Click(System.Object sender, System.EventArgs e)
    {
        BindingSourceName.CancelEdit();
    }
    

    Hinweis

    Die CancelEdit-Methode ist auf die Datenzeile beschränkt. Speichern Sie alle Änderungen, die Sie während der Anzeige dieses einzelnen Datensatzes vornehmen, bevor Sie zum nächsten Datensatz navigieren.

Siehe auch