怎么计算datagridview中所有行的某一列所有值的和

我写的代码如下 有错误 输入字符串的格式不正确 请高手帮忙改一下
int sum=0;
for (int i = 0; i < dataGridView3.Rows.Count; i++)
{
sum += Convert.ToInt32(dataGridView3.Rows[i].Cells[5].Value.ToString());
}

textBox29.Text = sum.ToString();
按大家所说所说 我改了下 可是还是不行
for (int i = 0; i < dataGridView3.Rows.Count; i++)
{
if (dataGridView3.Rows[i].Cells[5].Value.ToString() == "")
{
i++;
}
sum += Convert.ToInt32(dataGridView3.Rows[i].Cells[5].Value.ToString());
}

建议你在每一行放一个label,用于放置这个值。
假如label的id为lblNum
在后台遍历时:
int sum=0;
for (int i = 0; i < dataGridView3.Rows.Count; i++)
{
sum += Convert.ToInt32(((Label)dataGridView3.Rows[i].FindControl("lblNum")).Text);
}

textBox29.Text = sum.ToString();

就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-04
你的问题出现在Convert这里,因为string.empty是转化不了的。所以当cell中存在string,empty或转不了INT的值时就会出现问题。本回答被提问者和网友采纳
第2个回答  2011-08-28
显示转换,比较好调,检查你的datagridview3,去除不能转换的字段。
第3个回答  2012-05-13
怎么改的呀