关于C#:检查DataGridView单元格是否为空

Check if datagridview cell is null or empty

本问题已经有最佳答案,请猛点这里访问。

我必须更改单元格的背景色,当其值为字符串或空时,这是我在此处编写的与其他代码类似的代码:

1
2
3
4
5
6
7
8
9
10
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

我怎么修这个?有其他方法来编写代码吗?


我将使用如下的方法遍历单元格。

1
2
3
4
5
6
7
8
9
10
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;      
    }
}

你不需要ToString()。请看这里。

下面的代码就足够了。

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

您也可以尝试以下方法:

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