Суммирование значений из определенного столбца в DataGridView

Вопрос:

У меня есть простой 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 { }
}

Ответ №1
DataTable dt =DataGridView1.DataSource as DataTable;

decimal total;

total=(int)dt.Compute("sum(column_name)","");

Ответ №2
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;
}

Оцените статью
TechArks.Ru
Добавить комментарий