Teilen über


DataGridView.IsCurrentCellDirty Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die aktive Zelle über ausgecheckte Änderungen verfügt.

public:
 property bool IsCurrentCellDirty { bool get(); };
[System.ComponentModel.Browsable(false)]
public bool IsCurrentCellDirty { get; }
[<System.ComponentModel.Browsable(false)>]
member this.IsCurrentCellDirty : bool
Public ReadOnly Property IsCurrentCellDirty As Boolean

Eigenschaftswert

true, wenn die aktive Zelle über nicht gespeicherte Änderungen verfügt, andernfalls false.

Attribute

Beispiele

Im folgenden Codebeispiel wird die IsCurrentCellDirty -Eigenschaft verwendet, um zu bestimmen, ob ein Commit für einen Zellenwert und das CellValueChanged Ereignis von einem Handler für das CurrentCellDirtyStateChanged Ereignis ausgelöst werden soll. 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();
    }
}
' This event handler manually raises the CellValueChanged event
' by calling the CommitEdit method.
Sub dataGridView1_CurrentCellDirtyStateChanged( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles dataGridView1.CurrentCellDirtyStateChanged

    If dataGridView1.IsCurrentCellDirty Then
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
    End If
End Sub

' If a check box cell is clicked, this event handler disables  
' or enables the button in the same row as the clicked cell.
Public Sub dataGridView1_CellValueChanged(ByVal sender As Object, _
    ByVal e As DataGridViewCellEventArgs) _
    Handles dataGridView1.CellValueChanged

    If dataGridView1.Columns(e.ColumnIndex).Name = "CheckBoxes" Then
        Dim buttonCell As DataGridViewDisableButtonCell = _
            CType(dataGridView1.Rows(e.RowIndex).Cells("Buttons"), _
            DataGridViewDisableButtonCell)

        Dim checkCell As DataGridViewCheckBoxCell = _
            CType(dataGridView1.Rows(e.RowIndex).Cells("CheckBoxes"), _
            DataGridViewCheckBoxCell)
        buttonCell.Enabled = Not CType(checkCell.Value, [Boolean])

        dataGridView1.Invalidate()
    End If
End Sub

Hinweise

Wenn die DataGridView nicht an Daten gebunden ist, gilt die Zellbearbeitung als commitiert, wenn der Benutzer zu einer anderen Zelle wechselt.

Wenn Zeilenüberschriften sichtbar sind, ist eine Bleistift-Glyphe in der Kopfzeile der Zeile vorhanden, die eine Zelle mit nicht festgeschriebenen Änderungen enthält.

Wenn IsCurrentCellDirty ist true und die aktuelle Zelle ein Bearbeitungssteuerelement hostet, können Sie es über die EditingControl -Eigenschaft abrufen.

Gilt für:

Weitere Informationen