繁体   English   中英

C#DataGridView高亮行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM