Как выбрать и перейти к новой строке в Datagridview? - PullRequest
14 голосов
/ 05 мая 2011

У меня есть DataGridView, связанный с таблицей БД. DataGridView не редактируется, есть некоторые текстовые поля, где данные могут быть отредактированы, что управляется кнопками. У меня есть кнопка NewRow со следующим кодом:

        dataGridView1.AllowUserToAddRows = true;
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            if (row.Selected)
            { row.Selected = false; }
        } 
        dataGridView1.Rows[dataGridView1.NewRowIndex].Selected = true;

Ват мне нужно это:

  • сетка данных должна прокручиваться вниз (где находится newRow)
  • newRow должен быть сфокусирован, чтобы в текстовых полях отображалась новая (пустая) строка (содержимое)

Я пробовал:

        bindSourceGS.Position = dataGridView1.NewRowIndex;

но это не выбирает новую строку таблицы данных. Я хочу использовать newRow datagridview, потому что когда пользователь нажимает кнопку отмены, мне не нужно удалять строку в наборе данных, и datagridview.Rows [i] имеет свойство IsNewRow.

Ответы [ 3 ]

13 голосов
/ 05 мая 2011

Если Winform , то вы можете использовать это

dataGridView1.FirstDisplayedScrollingRowIndex

и установите datagridview.CurrentCell на новый адрес ячейки строки.

Надеюсь, это поможет

0 голосов
/ 16 марта 2013

Я исследовал эту проблему и обнаружил, что настройка dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.count-1 работает хорошо, пока свойство AutoSizeRowsMode НЕ установлено на DisplayedCells.

Если у вас проблемы с настройкой dataGridView1.FirstDisplayedScrollingRowIndex=dataGridView1.Rows.Count -1 и сетка не прокручивается к нижней части, попробуйте установить для свойства AutosizeRowsMode значение AllCells.

0 голосов
/ 09 ноября 2011

Примечание. Для того чтобы FirstDisplayedScrollingRowIndex работал успешно, если у вас есть строки со смешанной высотой, необходимо убедиться, что высота шаблона строки по крайней мере так же велика на последней высоте строки.Это скорее проблема, так как я не могу установить высоту строки, превышающую высоту шаблона строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...