DataGridView.RowDirtyStateNeeded Evento

Definición

Se produce cuando la propiedad VirtualMode del control DataGridView es true y el control DataGridView necesita determinar si se confirmaron los cambios de la fila actual.Occurs when the VirtualMode property of the DataGridView control is true and the DataGridView needs to determine whether the current row has uncommitted changes.

public:
 event System::Windows::Forms::QuestionEventHandler ^ RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler RowDirtyStateNeeded;
member this.RowDirtyStateNeeded : System.Windows.Forms.QuestionEventHandler 
Public Custom Event RowDirtyStateNeeded As QuestionEventHandler 

Ejemplos

En el ejemplo de código siguiente se muestra cómo controlar este evento para proporcionar el ámbito de confirmación de nivel de celda, lo que significa que el usuario solo puede revertir los cambios a la celda actual.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. En el ámbito de confirmación en el nivel de celda, la fila se trata como si tuviera cambios no confirmados solo cuando la celda actual tiene cambios sin confirmar, en lugar de cuando una celda de la fila tiene cambios sin confirmar.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. Este ejemplo forma parte de un ejemplo más grande disponible en [Walkthrough: Implementar el modo virtual en el control DataGridView Windows Forms @ no__t-0.This example is part of a larger example available in Walkthrough: Implementing Virtual Mode in the Windows Forms DataGridView Control.

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;
   }
}


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;
    }
}
Private Sub dataGridView1_RowDirtyStateNeeded(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.QuestionEventArgs) _
    Handles dataGridView1.RowDirtyStateNeeded

    If Not rowScopeCommit Then

        ' In cell-level commit scope, indicate whether the value
        ' of the current cell has been modified.
        e.Response = Me.dataGridView1.IsCurrentCellDirty

    End If

End Sub

Comentarios

De forma predeterminada, este evento establece la propiedad QuestionEventArgs.Response en true si se han modificado las celdas de la fila actual.By default, this event sets the QuestionEventArgs.Response property to true if any cells in the current row have been modified. Esto hace que se produzca el evento CancelRowEdit cuando el usuario revierte las modificaciones a una fila.This causes the CancelRowEdit event to occur when the user reverts edits to a row. Los usuarios pueden revertir las modificaciones a una fila presionando dos veces ESC cuando una celda está en modo de edición o una vez fuera del modo de edición.Users can revert edits to a row by pressing ESC twice when a cell is in edit mode or once outside of edit mode. Este evento se puede usar para personalizar el ámbito de confirmación en el modo virtual estableciendo la propiedad QuestionEventArgs.Response en el valor correcto según el ámbito de confirmación elegido.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.

Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.For more information about how to handle events, see Handling and Raising Events.

Se aplica a

Consulte también: