检查datagridview单元格是null还是空

时间:2015-03-31 21:53:26

标签: c# visual-studio datagridview

我必须更改单元格的背景颜色,当它们的值为字符串或空时,这是我写的代码,类似于其他代码:

for (int rowIndex = 0; rowIndex < dataGridView1.RowCount; rowIndex++)
            {
             string conte = dataGridView1.Rows[rowIndex].Cells[7].Value.ToString()  ;
                if (string.IsNullOrEmpty(conte))
                {
                // dataGridView1.Rows[rowIndex].Cells[7].Style.BackColor = Color.Orange;
                }
                else
                 { dataGridView1.Rows[rowIndex].Cells[7].Style.BackColor = Color.Orange; }
        } 

数据集已完成,显示填充的datagridview并显示此错误:enter image description here

我该如何解决这个问题?有另一种方法来编写代码吗?

2 个答案:

答案 0 :(得分:5)

我会使用以下内容迭代单元格。

foreach (DataGridViewRow dgRow in dataGridView1.Rows)
{
    var cell = dgRow.Cells[7];
    if (cell.Value != null)   //Check for null reference
    {
        cell.Style.BackColor = string.IsNullOrEmpty(cell.Value.ToString()) ? 
            Color.LightCyan :   
            Color.Orange;       
    }
}

答案 1 :(得分:3)

您不需要ToString()。见here.

以下代码就足够了。

string conte = dataGridView1.Rows[rowIndex].Cells[7].Value;

你也可以试试:

if (string.IsNullOrEmpty(dataGridView1.Rows[0].Cells[7].Value as string))