C#DataGridView突出显示行

时间:2014-05-09 15:02:24

标签: c# datagridview

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;
            }  
        }

1 个答案:

答案 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属性上设置条件格式来将其应用于某些列。