[英]C# DataGridView Highlight Row
DataGridView ..我专注于第一列。 在GRID LOAD上,突出显示具有相同值的行。
比方说,红色高亮显示为1的行,蓝色高亮显示为3的行,绿色高亮显示5的行。
或1(带红色),没有高亮显示3(3),5(又带红色)(如替代颜色)。
想法是在视觉上分隔具有相同值的行。
有想法吗? 提前致谢。
Column1 |
------
1
1
3
3
3
5
5
尝试过,但看不到视觉分离:
int i, i_temp = 0;
foreach (DataGridViewRow dr in dgv.Rows)
{
i = int.Parse(dr.Cells["Column1"].Value.ToString());
if (i_temp == int.Parse(dr.Cells["Column1"].Value.ToString()))
{
dr.DefaultCellStyle.BackColor = Color.Red;
i_temp = i;
}
}
规定的方法是在CellFormatting事件中。
private void MyGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
var dr = MyGrid.Rows[e.RowIndex];
var intVal = int.Parse(dr.Cells["Column1"].Value.ToString());
switch (intVal)
{
case 1:
e.CellStyle.BackColor = Color.Red;
break;
case 3:
e.CellStyle.BackColor = Color.Blue;
break;
case 5:
e.CellStyle.BackColor = Color.Green;
break;
default:
break;
}
}
请注意,仅通过将格式设置为e.ColumnIndex属性的条件,才能将其应用于某些列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.