Partager via


DataGridView.RowDirtyStateNeeded Événement

Définition

Se produit lorsque la VirtualMode propriété du DataGridView contrôle est true et doit DataGridView déterminer si la ligne actuelle a 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 lorsque n’importe quelle cellule de la ligne a des modifications non validées. Cet exemple fait partie d’un exemple plus large disponible dans la 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 si des cellules de la ligne actuelle ont été modifiées. Cela provoque l’événement CancelRowEdit 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 d’édition. Cet événement peut être utilisé pour personnaliser l’étendue de validation en mode virtuel en définissant la propriété sur la QuestionEventArgs.Response valeur correcte en fonction de l’étendue de validation choisie.

Pour plus d’informations sur la gestion des événements, consultez Gestion et déclenchement d’événements.

S’applique à

Voir aussi