Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После проверки точности изменений, внесенных в данные DataTable, можно принять изменения с помощью метода AcceptChanges, DataRow, DataTable или DataSet, что задает значения Текущей строки в качестве Исходных значений и присвоит свойству RowState значение Unchanged. Принятие или отклонение изменений очищает все сведения 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();