DataGridView CellSelect и FullRowSelect - PullRequest
       8

DataGridView CellSelect и FullRowSelect

7 голосов
/ 20 декабря 2011

Итак, у меня есть несколько видов данных, которые мы установили на FullRowSelect. Теперь пользователи запрашивают возможность выбора отдельных ячеек для функций копирования.

Я установил DataGridView на CellSelect, но когда я запускаю приложение, когда я нажимаю на заголовок строки, оно не выделяет полную строку, только первый столбец.

Я пытался использовать RowHeaderMouseClick с CellMouseClick, чтобы переключить режим выбора, но для того, чтобы RowHeaderMouseClick выбрал его полностью, мне приходится нажимать на заголовок строки несколько раз.

private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

Как я могу легко или не так легко переключаться между CellSelect и FullRowSelect в зависимости от того, что они выбрали в сетке?

Ответы [ 3 ]

14 голосов
/ 20 декабря 2011

Если я вас понимаю, вы хотите иметь возможность выделять отдельные ячейки, а также легко выбирать полную строку?

В этом случае установите SelectionMode на RowHeaderSelect.

2 голосов
/ 20 декабря 2011
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

1- Вы на самом деле используете структуру DataGridView, а не свой объект DataGridView.

2 - SelectionMode не следует изменять каждый раз, когда пользователь щелкает строку, а в конструкторе вашей программы.

Пример

public MyForm()
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}
0 голосов
/ 13 июля 2017

добавить этот однострочный код.

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...