Metody AcceptChanges i RejectChangesAcceptChanges and RejectChanges

Po sprawdzeniu dokładności zmian wprowadzonych w danych w programie DataTable można zaakceptować zmiany przy użyciu AcceptChanges metody DataRow , DataTable , lub DataSet , która ustawi bieżące wartości wierszy jako oryginalne wartości i ustawi właściwość RowState na niezmienione.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. Akceptowanie lub odrzucanie zmian czyści wszystkie informacje RowError i ustawia właściwość HasErrors na false.Accepting or rejecting changes clears out any RowError information and sets the HasErrors property to false. Akceptowanie lub odrzucanie zmian może również mieć wpływ na aktualizowanie danych w źródle danych.Accepting or rejecting changes can also affect updating data in the data source. Aby uzyskać więcej informacji, zobacz Aktualizowanie źródeł danych za pomocą kart DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Jeśli istnieją ograniczenia klucza obcego w tabeli DataTable, zmiany zaakceptowane lub odrzucone przy użyciu metody AcceptChanges i RejectChanges są propagowane do wierszy podrzędnych obiektu DataRow zgodnie z element ForeignKeyConstraint. AcceptRejectRule.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. Aby uzyskać więcej informacji, zobacz temat ograniczenia DataTable.For more information, see DataTable Constraints.

Poniższy przykład sprawdza w poszukiwaniu wierszy z błędami, rozwiązuje błędy, jeśli ma to zastosowanie, i odrzuca wiersze, w których nie można rozpoznać błędu.The following example checks for rows with errors, resolves the errors where applicable, and rejects the rows where the error cannot be resolved. Należy pamiętać, że w przypadku rozwiązanych błędów wartość RowError jest resetowana do pustego ciągu, powodując, że właściwość HasErrors ma wartość false.Note that, for resolved errors, the RowError value is reset to an empty string, causing the HasErrors property to be set to false. Gdy wszystkie wiersze z błędami zostały rozwiązane lub odrzucone, Metoda AcceptChanges jest wywoływana, aby akceptować wszystkie zmiany dla całej tabeli DataTable.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();  

Zobacz teżSee also