Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DataGridView.IsCurrentCellDirty-Eigenschaft

 

Veröffentlicht: Oktober 2016

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

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public bool IsCurrentCellDirty { get; }

Eigenschaftswert

Type: System.Boolean

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

Wenn die DataGridView nicht gebunden an Daten, die Bearbeitung der Zelle gilt ein Commit ausgeführt, wenn der Benutzer zu einer anderen Zelle bewegt.

Wenn die Zeilenköpfe sichtbar sind, ist ein Bleistiftsymbol im Header für die Zeile mit einer Zelle nicht gespeicherte Änderungen vorhanden.

Wenn IsCurrentCellDirty ist true und die aktuelle Zelle ein Bearbeitungssteuerelement hostet, können Sie durch Abrufen der EditingControl Eigenschaft.

Im folgenden Codebeispiel wird mithilfe der IsCurrentCellDirty -Eigenschaft können Sie bestimmen, ob commit eines Zellenwerts und ausgelöst der CellValueChanged -Ereignis in einem Handler für das CurrentCellDirtyStateChanged Ereignis. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels Gewusst wie: Deaktivieren von Schaltflächen in einer Schaltflächenspalte im DataGridView-Steuerelement von Windows Forms.

// 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();
    }
}

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: