Я хотел бы прокомментировать это.
Хотя раньше можно было сделать прямой обмен в C #, как смур / Габриэльс
DataGridViewRow temp = grid.Rows[row_1].Clone();
grid.Rows[row_1] = grid.Rows[row_10].Clone();
grid.Rows[row_10] = temp;
Это больше невозможно, так как grid.Rows [index] доступен только для чтения.
Вместо этого используйте метод DarkSquirrels для сохранения двух строк, удаления строк и их повторной вставки.
Если кто-то знает лучший метод (так как он похож на метод из 6 строк iteslf без логики для поиска другого значения), пожалуйста, оставьте комментарий!