Если вы не используете связанные элементы управления, dgvItems.Rows.Insert () позволит вам указать, куда вставляется строка.
Если вы используете связанный вид сетки данных без активной сортировки, добавьте новую строку в источник данных в нужном месте:
BoundTable.Rows.InsertAt (BoundTable.Rows.NewRow (), RowLocation);
Я обнаружил интересную связь: если в текущей строке есть изменения, и строка не была зафиксирована в источнике данных (т. Е. Вы только начали вводить данные), кажется, необходимо переместить активную ячейку в другую. строка, чтобы зафиксировать изменения перед вставкой строк.