DataGridView.IsCurrentCellDirty Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die aangeeft of de huidige cel niet-doorgevoerde wijzigingen heeft.

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

Waarde van eigenschap

true als de huidige cel niet-doorgevoerde wijzigingen heeft; anders, false.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld wordt de IsCurrentCellDirty eigenschap gebruikt om te bepalen of een celwaarde moet worden doorgevoerd en de CellValueChanged gebeurtenis moet worden gegenereerd vanuit een handler voor de CurrentCellDirtyStateChanged gebeurtenis. Dit codevoorbeeld maakt deel uit van een groter voorbeeld in How to: Knoppen in een knopkolom uitschakelen in het Windows Forms DataGridView-besturingselement.

// 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

Opmerkingen

Wanneer de DataGridView cel niet is gebonden aan gegevens, wordt de celbewerking beschouwd als doorgevoerd wanneer de gebruiker naar een andere cel gaat.

Als rijkoppen zichtbaar zijn, bevindt een potlood-glyph zich in de koptekst voor de rij die een cel bevat met niet-doorgevoerde wijzigingen.

Als IsCurrentCellDirty dat het is true en de huidige cel als host fungeert voor een besturingselement voor bewerken, kunt u dit ophalen via de EditingControl eigenschap.

Van toepassing op

Zie ook