C#DataGridView高亮显示行
DataGridView。。我的重点是第一栏。在网格加载上突出显示具有相同值的行。C#DataGridView高亮显示行,c#,datagridview,C#,Datagridview,DataGridView。。我的重点是第一栏。在网格加载上突出显示具有相同值的行。 假设行中1的高亮显示为红色,行中3的高亮显示为蓝色,行中5的高亮显示为绿色.. 或1为红色,3为无突出显示,5为红色(类似替代颜色)。 想法是用相同的值直观地分隔行。 有什么想法吗,伙计们?提前谢谢 Column1 | ------ 1 1 3 3 3 5 5 已尝试,但无法想象视觉分离: int i, i_temp = 0; foreach (DataGridViewRow
假设行中1的高亮显示为红色,行中3的高亮显示为蓝色,行中5的高亮显示为绿色..
或1为红色,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属性上设置格式化条件,才能将此应用于某些列