AcceptChanges и RejectChangesAcceptChanges and RejectChanges

После проверки точности изменений DataTable, внесенных в данные в, можно принять изменения DataRow AcceptChanges с помощью метода, DataTableили DataSet, который будет устанавливать текущие значения строк в значение Исходные значения и задаст свойству RowState значение без изменений.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. При принятии или отклонении изменений удаляется любая роверрор информация, а свойству HasErrors присваивается значение false.Accepting or rejecting changes clears out any RowError information and sets the HasErrors property to false. Принятие или отклонение изменений также может затрагивать обновление данных в источнике данных.Accepting or rejecting changes can also affect updating data in the data source. Дополнительные сведения см. в разделе Обновление источников данных с помощью DataAdapter.For more information, see Updating Data Sources with DataAdapters.

Если в DataTableсуществуют ограничения внешнего ключа, изменения, принятые или Отклоненные с помощью AcceptChanges и RejectChanges , распространяются на дочерние строки DataRow в соответствии с ForeignKeyConstraint. Акцептрежектруле.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. Дополнительные сведения см. в разделе ограничения DataTable.For more information, see DataTable Constraints.

В следующем примере происходит проверка на наличие строк с ошибками, по возможности устраняются ошибки и отклоняются строки, в которых ошибка не может быть устранена.The following example checks for rows with errors, resolves the errors where applicable, and rejects the rows where the error cannot be resolved. Обратите внимание, что для разрешенных ошибок значение роверрор сбрасывается в пустую строку, в результате чего свойство HasErrors устанавливается в значение false.Note that, for resolved errors, the RowError value is reset to an empty string, causing the HasErrors property to be set to false. Если все строки с ошибками были разрешены или отклонены, вызывается метод AcceptChanges , чтобы принять все изменения для всей таблицы 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();  

См. такжеSee also