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 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.