簡體   English   中英

DataGridView根據每一行的列中的值更改行標題顏色

[英]DataGridView change row header color based on value in a column foreach row

我正在編程用於管理並發計算機的軟件。 DataGridView顯示了計算機的狀態,我想用紅色或綠色將每台計算機的行標題(無論是否激活)。

我已經在網上搜索並嘗試了多種解決方案,但是沒有一個可行,並且標題仍然是灰色的,所以我請求您的幫助。

DGVMachinesStatus.DataSource = db.GetAllFrom("machines");
DGVMachinesStatus.EnableHeadersVisualStyles = false;

foreach (DataGridViewRow r in DGVMachinesStatus.Rows)
{
    if (r.Cells["status"].ToString().Equals(DBNull.Value.ToString()))
    {
        DataGridViewCellStyle rowStyle;
        rowStyle = r.HeaderCell.Style;
        rowStyle.BackColor = Color.Red;
        r.HeaderCell.Style = rowStyle;  
    }
    else
    {
        DataGridViewCellStyle rowStyle;
        rowStyle = r.HeaderCell.Style;
        rowStyle.BackColor = Color.Green;
        r.HeaderCell.Style = rowStyle;
    }
}

該問題是由於在窗體構造函數中調用代碼引起的,我避免了在打開窗體時使用Activated事件為DGV着色的問題。 我不知道這是不是最好的,但是它有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM