我希望我的DataGridView
突出显示已选择单元格的任何行的行标题。有办法吗?
(如果选择整行单元格,标准行为似乎只是突出显示行标题。)
我尝试过的事情:
我已经查看了DataGridView的反编译源代码以及我可以告诉的内容(肯定可能是错误的)它会根据是否选择了DataGridViewRow来突出显示标题。我无法弄清楚如何在没有实际选择整行的情况下设置所选行
答案 0 :(得分:1)
之前我这样做的方法是处理Applicative
事件,检查受影响的单元格行中的单元格,并相应地设置行标题。
CellStateChanged
您需要设置以下snippit以启用这些更改,如explained here:
private void DataGridView1_CellStateChanged(object sender, DataGridViewCellStateChangedEventArgs e)
{
bool selected = false;
foreach (DataGridViewCell cell in e.Cell.OwningRow.Cells)
{
if (cell.Selected)
{
selected = true;
break;
}
}
e.Cell.OwningRow.HeaderCell.Style.BackColor = selected ?
this.dataGridView1.RowHeadersDefaultCellStyle.SelectionBackColor :
this.dataGridView1.RowHeadersDefaultCellStyle.BackColor;
}
未显示:当初始化所有内容时,还要考虑将标题单元格着色为this.dataGridView1.EnableHeadersVisualStyles = false;
。