At first I couldn't get it to work - then I deleted the part I didn't
understand - the RowState stuff - now it seems to work and it looks like this:
private void dgvLookup_DragDrop(object sender, DragEventArgs e)
// The mouse locations are relative to the screen, so they must
// converted to client coordinates.
Point clientPoint = this.dgvLookup.PointToClient(new Point(e.X,
// Get the row index of the item the mouse is below.
// If the drag operation was a move then remove and insert the
if (e.Effect == DragDropEffects.Move)
DataGridViewRow gridRow =
e.Data.GetData(typeof(DataGridViewRow)) as DataGridViewRow;
DataRow rowToMove = dataTable1.Rows[gridRow.Index];
object itemarray = rowToMove.ItemArray;
rowToMove.ItemArray = itemarray;
Thanks a lot again Linda.