簡體   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