Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
После проверки точности изменений, внесенных в данные, DataTableможно принять изменения с помощью AcceptChanges метода DataRow, DataTableилиDataSet, что задает значения строк в качестве Current значений и присвоит OriginalRowState свойству значение "Без изменений". Принятие или отклонение изменений очищает любые RowError сведения и задает HasErrors для свойства значение false. Принятие или отклонение изменений также может повлиять на обновление данных в источнике данных. Дополнительные сведения см. в разделе "Обновление источников данных с помощью DataAdapters".
Если в DataTable существуют ограничения внешнего ключа, изменения, принятые или отклоненные с использованием AcceptChanges и RejectChanges, распространяются на дочерние строки DataRow в соответствии с ForeignKeyConstraint.AcceptRejectRule. Дополнительные сведения см. в разделе "Ограничения DataTable".
В следующем примере проверяются строки с ошибками, устраняются ошибки, где это применимо, и отклоняются строки, в которых не удается устранить ошибку. Обратите внимание, что для разрешенных ошибок значение RowError сбрасывается на пустую строку, поэтому свойство HasErrors устанавливается в false. Когда все строки с ошибками были разрешены или отклонены, AcceptChanges вызывается для принятия всех изменений для всей 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();