The HasErrors
property returns a Boolean value
indicating whether an error is set on any of the columns in the row.
This value can determine whether error-handling code needs to be
executed or set custom error information based on custom validation
rules. Rather than iterating over the entire collection of rows to
locate errors, the GetErrors( )
method of the
DataTable
can return the array of rows containing
errors within the table. The HasErrors
property of
the DataTable
indicates whether there are any rows
with errors and should be checked to determine whether calling
GetErrors( )
is necessary.
Error information for the row can be set for the entire row or for a
specific column in the row. The
RowError
property sets and retrieves an error
description that applies to the entire row. The
GetColumnError( )
and SetColumnError( )
methods set and get the error description for a
particular column specified with either a column name, column
ordinal, or a reference to the column object.
Finally, the ClearErrors( )
method clears all
error information for the row and for all columns in the row.
The following example demonstrates how to work with
DataRow
errors:
DataRow row; // ... code to set up the row if(row.HasErrors) { String rowErrorText = row.RowError; foreach(DataColumn colError in row.GetColumnsInError()) { String colErrorColumnName = colError.ColumnName; String colErrorText = row.GetColumnError(colError); // ... processing for column errors } // ... processing for row error // clear the errors, once processed row.ClearErrors(); } else { // no errors in the row }
As mentioned, errors can also be set on columns, as shown in this example:
DataRow row; // ... code to set up the row // using the column name row.SetColumnError("MyColumn", "Custom error text, based on name."); // using the ordinal row.SetColumnError(1, "Custom error text, based on ordinal.");