所以这是我的网格视图的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列,我没有设置任何属性,所以它是默认的。
答案 0 :(得分:4)
Value
可能会返回null,这会导致ToString()
爆炸。
请改为尝试:
Double.TryParse(Convert.ToString(dataGridView1.Rows[i].Cells[0].Value), out d);
如果转换的字符串为null, Convert.ToString()
将返回一个空字符串,而ToString()
只会抛出异常。
现在,如果Value
为空,d
应该包含0,那么您可以保持其余代码相同。