我有一个带有4列的简单dataGridView。我想总结第三列的值,并在按下按钮时将结果保存到变量中。我试过这样,但我总是得到一个错误说
“指定的强制转换无效 - 从数字转换时,该值必须小于无穷大”。
P.S。每个单元格都是一个DataGridViewTextBoxColumn,这意味着我可以直接输入值。
代码:
private void button2_Click(object sender, EventArgs e)
{
Double result = 0;
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
result += (Double)row.Cells[2].Value;
}
this.label13.Text = result .ToString();
}
我错过了什么?
答案 0 :(得分:1)
而不是强制转换,请尝试
result += Convert.ToDouble(row.Cells[2].Value);
错误检查
if (row.Cells[2].Value != null)
{
try
{
result += Convert.ToDouble(row.Cells[2].Value);
}
catch { }
}
答案 1 :(得分:0)
DataTable dt =DataGridView1.DataSource as DataTable;
decimal total;
total=(int)dt.Compute("sum(column_name)","");
答案 2 :(得分:0)
private getColSum()
{
int sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count; ++i)
{
sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
}
return sum;
}