给datagridviewrow分配颜色

本文关键字:颜色 分配 datagridviewrow | 更新日期: 2023-09-27 18:07:25

我想让这个Windows应用程序,在那里你可以注册健身房会员和他们的每月付款。我有这个DataGridView,它显示成员的一些属性,其中一个是字段STATUS。这个字段包含单词PAID或PAID(这是从一些代码分配的,如果成员支付或不支付)。现在我要做的是:如果状态字段是无偿的,我希望这一行是红色(背景色)。这可能吗?

给datagridviewrow分配颜色

对于称为dgvDataGridView。试试下面的命令

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 grid.Rows) 
     if (row.Cells["STATUS"].Value =="UNPAID") 
     {
         row.DefaultCellStyle.BackColor = Color.Red; 
     }

你可以做的就是像这样设置行中单元格的颜色为红色:

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

将Status值为未支付的那行单元格设置为红色