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