Have you tried to bind a DataGrid to a DataTable (instead of a view) and turn the value of the AllowSorting property into true in the DataGrid? I believe the grid will automatically sort the table source for you.
If not, you can always catch the event when you click the column heading and rebuild the DataView to bind to the DataGrid.
source
share