2017-01-23 91 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