The easiest way is to use a BindingSource. Set the BindingSource.DataSource property to your DataTable, then set DataGridView.DataSource to the BindingSource. You can then use the BindingSource.Sort property to sort.
To elaborate, the DataGridView does not store a separate copy of the data that it is bound to, so any sorting must take place in the data source. You cannot sort a DataTable, however. All DataTable sorting takes place in a DataView, which you can retrieve through the DataTable.DefaultView property or create a new DataView and pass the DataTable to its constructor. When you use a BindingSource, all of that happens automatically.