Auf Englisch lesen

Freigeben über


DataGridView.CommitEdit(DataGridViewDataErrorContexts) Methode

Definition

Speichert Änderungen am Datencache in der aktiven Zelle, ohne den Bearbeitungsmodus zu beenden.

public bool CommitEdit(System.Windows.Forms.DataGridViewDataErrorContexts context);

Parameter

context
DataGridViewDataErrorContexts

Eine bitweise Kombination von DataGridViewDataErrorContexts-Werten, die den Kontext angibt, in dem ein Fehler auftreten kann.

Gibt zurück

true, wenn die Änderungen gespeichert wurden, andernfalls false.

Ausnahmen

Für den Zellwert konnte kein Commit ausgeführt werden, und entweder ist kein Handler für das DataError-Ereignis vorhanden, oder der Handler hat die ThrowException-Eigenschaft auf true festgelegt.

Beispiele

Im folgenden Codebeispiel wird die CommitEdit -Methode in einem CurrentCellDirtyStateChanged Ereignishandler aufgerufen, um das Ereignis auszulösen CellValueChanged . Dieses Codebeispiel ist Teil eines größeren Beispiels unter Vorgehensweise: Deaktivieren von Schaltflächen in einer Schaltflächenspalte im Windows Forms DataGridView-Steuerelements.

// This event handler manually raises the CellValueChanged event
// by calling the CommitEdit method.
void dataGridView1_CurrentCellDirtyStateChanged(object sender,
    EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

// If a check box cell is clicked, this event handler disables  
// or enables the button in the same row as the clicked cell.
public void dataGridView1_CellValueChanged(object sender,
    DataGridViewCellEventArgs e)
{
    if (dataGridView1.Columns[e.ColumnIndex].Name == "CheckBoxes")
    {
        DataGridViewDisableButtonCell buttonCell =
            (DataGridViewDisableButtonCell)dataGridView1.
            Rows[e.RowIndex].Cells["Buttons"];

        DataGridViewCheckBoxCell checkCell =
            (DataGridViewCheckBoxCell)dataGridView1.
            Rows[e.RowIndex].Cells["CheckBoxes"];
        buttonCell.Enabled = !(Boolean)checkCell.Value;

        dataGridView1.Invalidate();
    }
}

Hinweise

Diese Methode versucht, den formatierten, vom Benutzer angegebenen Wert in den zugrunde liegenden Zelldatentyp zu konvertieren. Dazu löst es das CellParsing Ereignis aus, das Sie behandeln können, um die Typkonvertierung anzupassen. Andernfalls werden Standardtypkonverter verwendet. Konvertierungsfehler können zu einer Ausnahme führen, wenn das DataError Ereignis nicht behandelt wird, um es zu verhindern. Wenn der Wert erfolgreich konvertiert wurde, wird er an den Datenspeicher gebunden, wodurch das CellValuePushed Ereignis für nicht datengebundene Zellen ausgelöst wird, wenn der VirtualMode Eigenschaftswert ist true. Wenn der Wert erfolgreich committet wurde, tritt das CellValueChanged Ereignis auf.

Gilt für:

Produkt Versionen
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen