Partager via


DataGridView.RowDirtyStateNeeded Événement

Définition

Se produit lorsque la propriété VirtualMode du contrôle DataGridView est true et que le DataGridView doit déterminer si la ligne active comporte des modifications non validées.

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 

Type d'événement

Exemples

L’exemple de code suivant montre comment gérer cet événement pour fournir une étendue de validation au niveau de la cellule, ce qui signifie que l’utilisateur peut rétablir les modifications apportées à la cellule active uniquement. Dans l’étendue de validation au niveau de la cellule, la ligne est traitée comme ayant des modifications non validées uniquement lorsque la cellule active a des modifications non validées, plutôt que quand une cellule de la ligne a des modifications non validées. Cet exemple fait partie d’un exemple plus large disponible dans Procédure pas à pas : implémentation du mode virtuel dans le contrôle DataGridView Windows Forms.

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

Remarques

Par défaut, cet événement définit la QuestionEventArgs.Response propriété true sur si des cellules de la ligne actuelle ont été modifiées. L’événement CancelRowEdit se produit alors lorsque l’utilisateur rétablit les modifications d’une ligne. Les utilisateurs peuvent rétablir les modifications d’une ligne en appuyant deux fois sur Échap lorsqu’une cellule est en mode édition ou une fois en dehors du mode édition. Cet événement peut être utilisé pour personnaliser l’étendue de validation en mode virtuel en définissant la QuestionEventArgs.Response propriété sur la valeur correcte en fonction de l’étendue de validation choisie.

Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.

S’applique à

Voir aussi