Partager via


AcceptChanges et RejectChanges

Après avoir vérifié la précision des modifications apportées aux données dans un DataTable, vous pouvez accepter les modifications à l’aide de la AcceptChanges méthode de DataRow, DataTable ou DataSet, qui définit les Current valeurs de ligne sur les Original valeurs et définit la RowState propriété sur Inchangée. L’acceptation ou le rejet des modifications efface RowError toutes les informations et définit la HasErrors propriété sur false. L’acceptation ou le rejet des modifications peut également affecter la mise à jour des données dans la source de données. Pour plus d’informations, consultez Mise à jour des sources de données avec DataAdapters.

Si des contraintes de clé étrangère existent sur DataTable, les modifications acceptées ou rejetées à l'aide de AcceptChanges et RejectChanges sont propagées aux lignes enfants de DataRow selon ForeignKeyConstraint.AcceptRejectRule. Pour plus d’informations, consultez Contraintes DataTable.

L’exemple suivant vérifie les lignes avec des erreurs, résout les erreurs le cas échéant et rejette les lignes où l’erreur ne peut pas être résolue. Notez que, pour les erreurs résolues, la RowError valeur est réinitialisée à une chaîne vide, ce qui entraîne la définition de la HasErrors propriété sur false. Lorsque toutes les lignes avec des erreurs ont été résolues ou rejetées, AcceptChanges est appelé pour accepter toutes les modifications de l’intégralité de DataTable.

If workTable.HasErrors Then
  Dim errRow As DataRow

  For Each errRow in workTable.GetErrors()

    If errRow.RowError = "Total cannot exceed 1000." Then
      errRow("Total") = 1000
      errRow.RowError = ""    ' Clear the error.
    Else
      errRow.RejectChanges()
    End If
  Next
End If

workTable.AcceptChanges()
if (workTable.HasErrors)
{

  foreach (DataRow errRow in workTable.GetErrors())
  {
    if (errRow.RowError == "Total cannot exceed 1000.")
    {
      errRow["Total"] = 1000;
      errRow.RowError = "";    // Clear the error.
    }
    else
      errRow.RejectChanges();
  }
}

workTable.AcceptChanges();

Voir aussi