我有大约5列的DataGridView,最后一列是 DataGridViewLinkColumn 类型。所以这里的要求是我应该能够选择我想要的任何行,当我这样做时,除了该选定行中的最后一列之外,应该选择所有列。由于最后一列包含超链接文本,因此编写了一些要运行的函数。
目前我已将选择模式设置为 FullRowSelect 。
为了达到要求,我尝试将模式设置为CellSelect,并且在 CellContentClick 中,我为所选行的特定列设置了“ Selected ”属性。但选择没有正确发生。点击后它就会消失。我也尝试在 CellMouseUp 中加入相同的逻辑,但它也没有用。
请告诉我实现要求的方法或解决方法。
非常感谢!
答案 0 :(得分:1)
首先将SelectionMode
设置为CellSelect
。然后对SelectionChanged
事件进行编码:
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewCell c in dataGridView1.CurrentRow.Cells)
c.Selected = c.ColumnIndex != 4;
}
请注意,这没有取消选择行的规定!