C1Data Validation
------------------------------------------------------------------------
Shows how to implement custom data validation with the C1.Silverlight.Data.DataTable and C1.Silverlight.Data.DataRow classes.

The C1.Silverlight.Data.DataTable and C1.Silverlight.Data.DataRow classes are similar to the corresponding 
classes in the System.Data namespace, which are not available in Silverlight.

Like the traditional DataRow class, the C1.Silverlight.Data.DataRow has RowError and HasErrors properties 
and ClearErrors, GetColumnError, GetColumnsInError and SetColumnError methods. 
That allows you to set and check row errors according to your business logic requirements. 
The most appropriate place to validate DataRow and set or clear errors is DataTable.ColumnChanging event handler. 

The C1.Silverlight.Data.DataRowView class exposes error information from the underlying DataRow object 
via INotifyDataErrorInfo interface. So, setting row errors for C1.Silverlight.Data.DataRow allows using 
the Silverlight built-in support for INotifyDataErrorInfo interface.
If you use DataTable.DefaultView as ItemsSource in the System.Windows.Controls.DataGrid, 
C1.Silverlight.DataGrid.C1DataGrid or C1.Silverlight.FlexGrid.C1FlexGrid controls, 
your custom validation errors are shown in the grids without any additional code or xaml.


