Если вы заранее знаете, что в любое время добавляется новый элемент, он должен появиться внизу списка, вы можете использовать:
int index = this.dataGridView1.Rows.Count - 1;
this.dataGridView1.Rows[index].Selected = true;
this.dataGridView1.FirstDisplayedScrollingRowIndex = index;
Но, если вы упорядочите список по другому столбцу,вы не получите желаемых результатов.
Я рекомендую вам, это поиск по индексу строки, которому нужно дать выбор, это может быть выполнено с помощью функции, скажем, int SearchRowIndexForPKValue(int pKey)
, который выполнит поиск значений ячейки столбца, содержащего ваш PK / ID ("pkColumn"
), возвращающего индекс строки.Таким образом, приведенный выше код должен выглядеть следующим образом:
int index = SearchRowIndexForPKValue(pKey);
this.dataGridView1.Rows[index].Selected = true;
this.dataGridView1.FirstDisplayedScrollingRowIndex = index;
РЕДАКТИРОВАТЬ: int SearchRowIndexForPKValue(int pKey)
не является существующим встроенным методом DataGridView
.Вы должны объявить это и реализовать в своем коде;для тела метода вы можете получить код из этого поста .