The code you posted is trying to create a DataTable from your DataGrid. This is not possible unless you do something like
DataTable dt = (DataTable)dataGrid.DataContext;
but even still this does not really compute properly. If you want to delete columns from a bound DataGrid then you need to delete the field from the underlying Binding Source.
Hope this helps