3

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

4

3 回答 3

1

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

foreach (DataGridViewRow row in grid.Rows) 
     if (row.Cells["STATUS"].Value =="UNPAID") 
     {
         row.DefaultCellStyle.BackColor = Color.Red; 
     }
于 2013-04-04T09:36:07.553 回答
1

对于一个DataGridViewdgv. 尝试以下内容

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等。

于 2013-04-04T09:36:45.407 回答
0

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

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

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

于 2013-04-04T09:39:18.700 回答