This documentation is archived and is not being maintained.

DataGridView.RowDirtyStateNeeded Event

Note: This event is new in the .NET Framework version 2.0.

Occurs when the VirtualMode property of the DataGridView control is true and the DataGridView needs to determine whether the current row has uncommitted changes.

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

public event QuestionEventHandler RowDirtyStateNeeded
/** @event */
public void add_RowDirtyStateNeeded (QuestionEventHandler value)

/** @event */
public void remove_RowDirtyStateNeeded (QuestionEventHandler value)

JScript supports the use of events, but not the declaration of new ones.

By default, this event sets the QuestionEventArgs.Response property to true if any cells in the current row have been modified. This causes the CancelRowEdit event to occur when the user reverts edits to a row. Users can revert edits to a row by pressing ESC twice when a cell is in edit mode or once outside of edit mode. This event can be used for customizing commit scope in virtual mode by setting the QuestionEventArgs.Response property to the correct value depending on the chosen commit scope.

For more information about handling events, see Consuming Events.

The following code example demonstrates how to handle this event to provide cell-level commit scope, meaning that the user can revert changes to the current cell only. In cell-level commit scope, the row is treated as having uncommitted changes only when the current cell has uncommitted changes, rather than when any cell in the row has uncommitted changes. This example is part of a larger example available in Walkthrough: Implementing Virtual Mode in the Windows Forms DataGridView Control.

private void dataGridView1_RowDirtyStateNeeded(object sender,
    System.Windows.Forms.QuestionEventArgs e)
    if (!rowScopeCommit)
        // In cell-level commit scope, indicate whether the value
        // of the current cell has been modified.
        e.Response = this.dataGridView1.IsCurrentCellDirty;

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0