I've got a simple RadGridView bound to a DataTable (through a BindingSource); standard and easy way to put a gridview on a form dragging it from datasources box.
I've implemented my business rule validation in the datatable, as below:
Private Sub OperazioniDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) Handles Me.ColumnChanging   Debug.Print("ColumnChanging: column=" & e.Column.ColumnName)   If (e.Column.ColumnName = Me.impovalColumn.ColumnName) Then    If CType(e.ProposedValue, Decimal) = 0 Then      e.Row.SetColumnError(e.Column, "Inserire un importo diverso da zero")     Else      e.Row.SetColumnError(e.Column, "")     End If  End IfEnd SubWhen I edit the [impoval] cell and enter 0, moving to another cell/row raises the ColumnChanging event, but no feedback at all on the grid.
Another issue: if I press [Escape] key in the cell, the value is not restored to the old one.
In the standard MS grid I get feedback and restore behaviour.
I would like to know the best practices to enforce data validation (on single cells and on row, moving away from a cell/row and/or trying to close a form, etc.), possibly avoiding to put rules in the gridview events, in order to keep all the business rules validation code in the data transfer objects.
Please don't suggest to create separate business objects, as I want to avoid this coding overhead.
TIA
Ubaldo