У меня есть DataGridView, привязанный к таблице БД. DataGridView не редактируется, есть некоторые текстовые поля, в которых данные можно редактировать, что управляется кнопками. У меня есть кнопка NewRow со следующим кодом:
dataGridView1.AllowUserToAddRows = true;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Selected)
{ row.Selected = false; }
}
dataGridView1.Rows[dataGridView1.NewRowIndex].Selected = true;
Что мне нужно:
- datagridview должен прокручиваться вниз (где находится newRow)
- новая строка должна быть сфокусирована, чтобы текстовые поля отображали новую (пустую) строку (содержимое)
Я пытался:
bindSourceGS.Position = dataGridView1.NewRowIndex;
Но это не выбирает newRow datagridview. Я хочу использовать newRow datagridview, потому что, когда пользователь нажимает кнопку отмены, мне не нужно удалять строку в Dataset и datagridview.Rows [i] имеет свойство IsNewRow.
3 ответа
Если это Winform , вы можете использовать это
dataGridView1.FirstDisplayedScrollingRowIndex
И установите datagridview.CurrentCell
на адрес новой ячейки строки.
Надеюсь это поможет
Примечание. Для успешного выполнения FirstDisplayedScrollingRowIndex, если у вас есть строки со смешанной высотой, необходимо убедиться, что высота шаблона строк не меньше, чем высота последней строки. Это скорее проблема, поскольку я считаю, что нельзя установить высоту строки больше, чем высота шаблона строки.
Я исследовал эту проблему и обнаружил, что параметр dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.count-1
работает хорошо, пока для свойства AutoSizeRowsMode
НЕ установлено значение DisplayedCells
.
Если у вас возникли проблемы с настройкой dataGridView1.FirstDisplayedScrollingRowIndex=dataGridView1.Rows.Count -1
и сетка не прокручивается вниз, попробуйте установить для свойства AutosizeRowsMode
значение AllCells
.
Похожие вопросы
Новые вопросы
.net
НЕ используйте для вопросов о .NET Core - используйте вместо этого [.net-core]. .NET Framework - это программная среда, предназначенная главным образом для операционной системы Microsoft Windows. Он включает в себя реализацию библиотеки базовых классов, общеязыковой среды выполнения (обычно называемой CLR), общей системы типов (обычно называемой CTS) и динамической среды исполнения. Он поддерживает множество языков программирования, включая C #, VB.NET, F # и C ++ / CLI.