如果expression为true,则Datagridview设置行bg颜色

时间:2016-09-09 22:18:07

标签: c# .net datagridview

我有订单管理桌面应用程序,我在dgridview中显示所有订单。

所有订单都有三种类型:PaidNot PaidIn progress

因此,如果订单的状态类型为Not Paid,那么我正尝试在datagridview列表中将bacground颜色仅在所有行中更改为红色。状态为In prigress的所有订单均为黄色...

那么我可以使用DataGridViewRow在循环(foreach)内检查col值是否为Not Paid红色bacground颜色?或任何其他方式设置此

1 个答案:

答案 0 :(得分:1)

订阅CellFormatting活动。

private void DataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 1) // specify the desired column number
    {
        string value = e.Value.ToString();

        if (value == "Not Paid")
            e.CellStyle.BackColor = Color.Red;
        else if (value == "In Progress")
            e.CellStyle.BackColor = Color.Yellow;
    }
}