"AcceptChanges" und "RejectChanges"AcceptChanges and RejectChanges

Nachdem Sie die Richtigkeit der Änderungen an den Daten in einem DataTableüberprüft haben, können Sie die Änderungen mithilfe AcceptChanges der-Methode DataRowvon DataTable, oder DataSetübernehmen, die die aktuellen Zeilen Werte als Ursprüngliche Werte und legen die RowState -Eigenschaft auf " unverändert" fest.After verifying the accuracy of changes made to data in a DataTable, you can accept the changes using the AcceptChanges method of the DataRow, DataTable, or DataSet, which will set the Current row values to be the Original values and will set the RowState property to Unchanged. Durch das akzeptieren oder ablehnen von Änderungen werden alle RowError -Informationen gelöscht, und die HasErrors -Eigenschaft wird auf falsefestgelegt.Accepting or rejecting changes clears out any RowError information and sets the HasErrors property to false. Das Übernehmen oder Zurückweisen von Änderungen kann sich auch auf das Update von Daten in der Datenquelle auswirken.Accepting or rejecting changes can also affect updating data in the data source. Weitere Informationen finden Sie unter Aktualisieren von Datenquellen mit DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Wenn für die DatenTabelle Foreign Key-Einschränkungen vorhanden sind, werden mithilfe von " Accept Changes " und " RejectChanges " akzeptierte oder abgelehnte Änderungen an die untergeordneten Zeilen der DataRow entsprechend der Fremdschlüssel Einschränkung. Accept trejectrule.If foreign key constraints exist on the DataTable, changes accepted or rejected using AcceptChanges and RejectChanges are propagated to child rows of the DataRow according to the ForeignKeyConstraint.AcceptRejectRule. Weitere Informationen finden Sie unter databel-Einschränkungen.For more information, see DataTable Constraints.

Im folgenden Beispiel werden Zeilen mit Fehlern gesucht, die Fehler ggf. behoben und die Zeilen, in denen die Fehler nicht behoben werden können, zurückgewiesen.The following example checks for rows with errors, resolves the errors where applicable, and rejects the rows where the error cannot be resolved. Beachten Sie, dass bei aufgelösten Fehlern der RowError -Wert auf eine leere Zeichenfolge zurückgesetzt wird, wodurch die HasErrors -Eigenschaft auf falsefestgelegt wird.Note that, for resolved errors, the RowError value is reset to an empty string, causing the HasErrors property to be set to false. Wenn alle Zeilen mit Fehlern aufgelöst oder abgelehnt wurden, wird " Accept Changes " aufgerufen, um alle Änderungen für die gesamte DatenTabelle zu akzeptieren.When all the rows with errors have been resolved or rejected, AcceptChanges is called to accept all changes for the entire 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();  

Siehe auchSee also