DataGridView.RowDirtyStateNeeded Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.