Edit the data itself and update the DataGrid. This works different than in ASP.NET because it is different that in ASP.NET. In Windows Forms, it's a control. In ASP.NET, it simply generates different HTML based on state. There's a big difference. Once you've edited the data (like a DataSet, which you should use the DataTable.DefaultView to take into account any re-ordering), you can re-data-bind your control either by setting the DataSource property to null and then back to the DataSet (or whatever), or refresh the CurrencyManager like so:
CurrencyManager cm = (CurrentyManager)
dataGrid1.BindingContext[dataGrid1.DataSource,
dataGrid1.DataMember];
if (cm != null) cm.Refresh();
Microsoft MVP, Visual C# My Articles