public static bool MoveRow(DataGridView dtg, int IndexFrom, int IndexTo) { if ((IndexFrom == IndexTo) || ((IndexFrom + 1) == IndexTo)) { return(false); } DataTable dt = GetDataTable(dtg); DataRow dr = CDataTable.CopyRow(dt, IndexFrom, false); dt.Rows.RemoveAt(IndexFrom); int IndexNew = (IndexFrom < IndexTo) ? IndexTo - 1 : IndexTo; if ((IndexNew + 1) <= dt.Rows.Count) { dt.Rows.InsertAt(dr, IndexNew); } else { dt.Rows.Add(dr); } SelectNewRow(dtg, IndexNew); return(true); }
public static void CopyRow(DataGridView dtg, int IndexFrom, int IndexTo) { DataTable dt = GetDataTable(dtg); DataRow dr = CDataTable.CopyRow(dt, IndexFrom, true); int IndexNew = IndexTo; if ((IndexNew + 1) <= dt.Rows.Count) { dt.Rows.InsertAt(dr, IndexTo); } else { dt.Rows.Add(dr); } SelectNewRow(dtg, IndexNew); }