Compartir vía


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.

public:
 event System::Windows::Forms::QuestionEventHandler ^ RowDirtyStateNeeded;
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 

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se muestra cómo controlar este evento para proporcionar ámbito de confirmación de nivel de celda, lo que significa que el usuario solo puede revertir los cambios a la celda actual. En el ámbito de confirmación de nivel de celda, la fila se trata de tener cambios sin confirmar solo cuando la celda actual tiene cambios no confirmados, en lugar de cuando cualquier celda de la fila tiene cambios no confirmados. Este ejemplo forma parte de un ejemplo más grande disponible en 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 QuestionEventArgs.Response propiedad true en si se han modificado celdas de la fila actual. Esto hace que el CancelRowEdit evento se produzca cuando el usuario revierte las modificaciones a una fila. Los usuarios pueden revertir las modificaciones a una fila presionando ESC dos veces cuando una celda está en modo de edición o una vez fuera del modo de edición. Este evento se puede usar para personalizar el ámbito de confirmación en modo virtual estableciendo la QuestionEventArgs.Response propiedad en el valor correcto según el ámbito de confirmación elegido.

Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.

Se aplica a

Consulte también