C# 强制DataGridView整行选择
我有一个datagridview显示在一个UI中,其中有一个设备列表。我想强制用户选择整行而不是单个单元格。。。谷歌搜索一段时间后,似乎无法使用datagridview提供的方法强制选择行 我这样做了,有50%的时间是有效的,有些时候却不行。有什么想法吗C# 强制DataGridView整行选择,c#,datagridview,user-controls,C#,Datagridview,User Controls,我有一个datagridview显示在一个UI中,其中有一个设备列表。我想强制用户选择整行而不是单个单元格。。。谷歌搜索一段时间后,似乎无法使用datagridview提供的方法强制选择行 我这样做了,有50%的时间是有效的,有些时候却不行。有什么想法吗 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { dataGridView1.Rows[dataGridView1
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[dataGridView1.SelectedCells[0].OwningRow.Index].Selected = true;
}
有一种简单的方法,只需将
SelectionMode
设置为FullRowSelect
:
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
当用户单击DGV中的任何单元格时,此代码可以很好地选择整行:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
dataGridView1.Rows[e.RowIndex].Selected = true;
}
-或者-最简单的方法是(从项目的“属性”):
我是这么想的,但这并不总是有效。从datatable填充datagridview.datasource后,我可以单击列[0]中的所有行,而无需执行整行选择。一旦我在列[0]之外单击,它就会触发。