为DataGridView行指定颜色

时间:2013-04-04 09:25:48

标签: c# winforms

我正在尝试制作这个Windows应用程序,您可以在其中注册健身会员及其每月付款。我有这个DataGridView,它显示成员的一些属性,其中一个是字段STATUS。此字段包含单词PAID或UNPAID(如果成员付费与否,则从某些代码分配)。现在我想要做的是:如果Status字段是UNPAID,我希望该行为RED(背景颜色)。那可能吗 ?如果是,我该怎么做?

3 个答案:

答案 0 :(得分:1)

我认为你必须循环遍历网格视图中的行,然后比较值:

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

答案 1 :(得分:1)

对于名为DataGridView的{​​{1}}。尝试类似下面的内容

dgv

这会使你的'UNPAID'细胞变红,其他细胞变绿。这假设您只需要可用的值。

我希望这会有所帮助。

编辑。要为整行着色,您可以使用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; } }

答案 2 :(得分:0)

你可以做的是将行中单元格的颜色设置为红色,如下所示:

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

将把Status的值未付的单元格行设置为红色。