Вопрос:
У меня есть простой dataGridView с 4 столбцами. Я хочу подвести итоги из третьего столбца и сохранить результат в переменной при нажатии кнопки. Я так пробовал, но я всегда получаю сообщение об ошибке
“Указанный прилив недействителен – при отливке из числа значение должно быть меньше бесконечности”.
PS Каждая ячейка басически представляет собой 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(); }
Что мне не хватает?
Лучший ответ:
Вместо того, чтобы бросать, попробуйте
result += Convert.ToDouble(row.Cells[2].Value);
С проверкой ошибок
if (row.Cells[2].Value != null) { try { result += Convert.ToDouble(row.Cells[2].Value); } catch { } } Ответ №1DataTable dt =DataGridView1.DataSource as DataTable; decimal total; total=(int)dt.Compute(«sum(column_name)»,»»); Ответ №2private getColSum() { int sum = 0; for (int i = 0; i < dataGridView1.Rows.Count; ++i) { sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value); } return sum; }