【发布时间】:2017-02-01 03:15:23
【问题描述】:
我需要根据行中的数据更改数据网格视图行的颜色。
我的代码是:
foreach (DataGridViewRow Myrow in datagrid1.Rows)
{
if (Myrow.Cells[0].Value.Equals("Red"))
{
Myrow.DefaultCellStyle.BackColor = Color.Red;
}
{
Myrow.DefaultCellStyle.BackColor = Color.Green;
}
}
但是当我尝试运行它时,我得到:对象引用未设置为对象的实例
我认为这是因为它不断循环每一行,直到它到达一些具有空值的行。 我该如何阻止它这样做?
【问题讨论】:
-
在循环的开头添加
if(row.Cells[0].Value == null || row.Cells[0].Value == DBNull.Value) return;。您也可以在循环开头添加if(row.IsNewRow) return;。
标签: c# winforms visual-studio datagridview