DataGridView CellSelect и FullRowSelect

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

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

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

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

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

4 ответов


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

Если это так, установите SelectionMode в RowHeaderSelect.


DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

1-вы фактически используете структуру DataGridView, а не ваш объект DataGridView.

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

пример

public MyForm()
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

добавить одну строку кода.

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect;

этого.dataGridViewEmpList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;