2017-01-23 13 views
0

Я довольно новичок в программировании и C#. Я пытаюсь добавить значения некоторых столбцов для каждой строки в моем datagridview. Datagridview не привязан к какой-либо базе данных, его значение исходит от ввода пользователя, но не сработало. Любая помощь будет оценена по достоинству.Добавление значений в datagridview C#

Вот мой код:

double a,b,c,d,total = 0; 

foreach(DataGridViewRow row in dataGridView1.Rows) 
{ 
    foreach(DataGridViewColumn col in dataGridView1.Columns) 
    { 
     a = Convert.ToDouble(row.Cells[3].Value); 
     b = Convert.ToDouble(row.Cells[4].Value); 
     c = Convert.ToDouble(row.Cells[5].Value); 
     d = Convert.ToDouble(row.Cells[6].Value); 
     total = a + b + c + d; 
     MessageBox.Show(total.ToString()); 
    } 
} 

ответ

1

Вам не нужен внутренний цикл, удалите его, и вы получите Раствор

double a,b,c,d,total = 0; 

foreach(DataGridViewRow row in dataGridView1.Rows) 
{ 
     a = Convert.ToDouble(row.Cells[3].Value); 
     b = Convert.ToDouble(row.Cells[4].Value); 
     c = Convert.ToDouble(row.Cells[5].Value); 
     d = Convert.ToDouble(row.Cells[6].Value); 
     total = a + b + c + d; 
     MessageBox.Show(total.ToString()); 
} 
+0

спасибо, это работает. есть способ не показывать окончательный ящик сообщений, поскольку значение последней строки отображается дважды. спасибо за вашу помощь – DisplayName

+0

Выше кода не должно показывать последние строки в общей сложности дважды. У вас есть MessageBox.Show после цикла? –

+0

Нет, я не знаю, но в datagridview, если я добавляю вход в одну строку, он автоматически добавляет пустую строку в конец. вероятно, поэтому он показывает последнее общее значение дважды, я просто не знаю, как это исправить. – DisplayName