我正在编写用于管理并发计算机的软件。 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;
}
}
答案 0 :(得分:-1)
问题是由于在表单构造函数中调用代码引起的,我避免了在打开表单时使用激活事件对DGV进行着色的问题。我不知道这是最好的原因,但它有效吗