DataGridView ..我专注于第一列。在 GRID LOAD 上突出显示具有相同值的行
让我们说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;
}
}
答案 0 :(得分:0)
执行此操作的规定方法是在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属性上设置条件格式来将其应用于某些列。