为什么我的DataGridView出现Null Reference错误

时间:2014-01-14 02:40:01

标签: c# datagridview nullreferenceexception

所以这是我的网格视图的Sum()方法。

private double CellSum()
{
    double sum = 0;
    for (int i = 0; i < dataGridView1.Rows.Count; i++)
    {
        double d = 0;
        Double.TryParse(dataGridView1.Rows[i].Cells[0].Value.ToString(), out d); // runtime error
        sum += d;
    }
    return sum;
}

每当我点击按钮时,我都会调用Sum()方法,该方法返回一列的总和。

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = CellSum().ToString();
}

如何汇总列的总和?我记得在这个网站的某个地方拉这个代码,但它似乎对我不起作用。

我只有3列,我没有设置任何属性,所以它是默认的。

1 个答案:

答案 0 :(得分:4)

Value可能会返回null,这会导致ToString()爆炸。

请改为尝试:

Double.TryParse(Convert.ToString(dataGridView1.Rows[i].Cells[0].Value), out d);
如果转换的字符串为null,

Convert.ToString()将返回一个空字符串,而ToString()只会抛出异常。

现在,如果Value为空,d应该包含0,那么您可以保持其余代码相同。