Ответ 1
Если его Winform, то вы можете использовать этот
dataGridView1.FirstDisplayedScrollingRowIndex
и установите datagridview.CurrentCell
на ваш новый адрес ячейки строки.
Надеюсь, что это поможет
У меня есть DataGridView, привязанный к таблице БД. DataGridView недоступен для редактирования, есть текстовые поля, в которых данные можно редактировать, которыми управляют кнопки. У меня есть кнопка NewRow со следующим кодом:
dataGridView1.AllowUserToAddRows = true;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Selected)
{ row.Selected = false; }
}
dataGridView1.Rows[dataGridView1.NewRowIndex].Selected = true;
Ват Мне нужно:
Я пробовал:
bindSourceGS.Position = dataGridView1.NewRowIndex;
но не выбирает datagridview newRow. Я хочу использовать datagridview newRow, потому что когда пользователь нажимает кнопку отмены, мне не нужно удалять строку в наборе данных и datagridview.Rows [i] имеет свойство IsNewRow.
Если его Winform, то вы можете использовать этот
dataGridView1.FirstDisplayedScrollingRowIndex
и установите datagridview.CurrentCell
на ваш новый адрес ячейки строки.
Надеюсь, что это поможет
Примечание. Для того чтобы FirstDisplayedScrollingRowIndex преуспеть, если у вас есть смешанные строки, вам нужно убедиться, что высота шаблона Row не менее велика на последней высоте строки. Это довольно проблема, поскольку я считаю, что нельзя установить высоту строки больше, чем высота шаблона строки.
Я изучил эту проблему и обнаружил, что настройка dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.count-1
работает хорошо, пока свойство AutoSizeRowsMode
НЕ установлено на DisplayedCells
.
Если у вас возникли проблемы с настройкой dataGridView1.FirstDisplayedScrollingRowIndex=dataGridView1.Rows.Count -1
, и сетка не прокручивается в нижнюю часть, попробуйте установить свойство AutoSizeRowsMode
на AllCells
.