Windows窗体DataGridView更改单行颜色会导致所有行更改

时间:2016-09-14 12:53:33

标签: c# winforms datagridview

我有一个标准的Windows窗体datagridview。在其中我将从linq创建的列表中设置数据。我想根据每行的DataBoundItem值有条件地格式化行。我已经查看了如何从以前的stackoverflow线程中执行此操作,并且有多种解决方案基于以下内容:

foreach (DataGridViewRow row in dataGridViewSelect.Rows)
{
    if (property.GetValue(row.DataBoundItem, null) != highlightOptions.Value)
    {
        row.DefaultCellStyle.BackColor = Color.Red;
        row.DefaultCellStyle.ForeColor = Color.White;
    }
    else
    {
        row.DefaultCellStyle.BackColor = Color.Yellow;
        row.DefaultCellStyle.ForeColor = Color.Black;
    }
}

我尝试将此代码放在单元格格式化事件下并绑定数据之后。无论我把它放在哪里,所有行都被格式化为红色,尽管在运行代码时只有少数单元格激活红色格式。

0 个答案:

没有答案