C# 为DataGridView行指定颜色

C# 为DataGridView行指定颜色,c#,winforms,C#,Winforms,我正在尝试制作这个Windows应用程序,您可以在其中注册健身房会员及其每月付款。我有一个DataGridView,其中显示了成员的一些属性,其中一个是字段状态。此字段包含“已付款”或“未付款”一词(如果成员已付款或未付款,则从某些代码中指定)。现在我要做的是:如果Status字段未支付,我希望该行为红色(背景色)。可能吗?如果是,我该怎么做?我认为您必须在网格视图中循环行,然后比较值: foreach (DataGridViewRow row in grid.Rows) if (r

我正在尝试制作这个Windows应用程序,您可以在其中注册健身房会员及其每月付款。我有一个DataGridView,其中显示了成员的一些属性,其中一个是字段状态。此字段包含“已付款”或“未付款”一词(如果成员已付款或未付款,则从某些代码中指定)。现在我要做的是:如果Status字段未支付,我希望该行为红色(背景色)。可能吗?如果是,我该怎么做?

我认为您必须在网格视图中循环行,然后比较值:

foreach (DataGridViewRow row in grid.Rows) 
     if (row.Cells["STATUS"].Value =="UNPAID") 
     {
         row.DefaultCellStyle.BackColor = Color.Red; 
     }

对于名为
dgv
DataGridView
。试试下面的方法

foreach (DataGridViewRow row in dgv.Rows)
{
    if (row.Cells["STATUS"].Value != null &&
        row.Cells["STATUS"].Value.ToString().CompareTo("UNPAID") == 0)
    {
        row.Cells["STATUS"].Style.BackColor = Color.Red;
    }
    else
    {
        row.Cells["STATUS"].Style.BackColor = Color.Green;
    }
}
这将使您的“未付”单元格变为红色,其他单元格变为绿色。这假设您只需要输入可用的值

我希望这有帮助


编辑。要给整行着色,可以使用
row.DefaultCellStyle.BackColor=Color.Red
等。您可以将行中单元格的颜色设置为红色,如下所示:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    if (row.Cells["STATUS"].Value =="UNPAID") 
        row.DefaultCellStyle.BackColor = Color.Red;
}

Wich会将状态值未付的单元格行设置为红色。

这可能会有帮助:请检查此链接认为这很有帮助[1]:我实际上希望整行都是红色的,但看起来更好!谢谢:)干杯