2017-01-23 2 views
0

Ich bin ziemlich neu in der Programmierung und C#. Ich versuche, die Werte bestimmter Spalten für jede Zeile in meinem Datagridview hinzuzufügen. Die Datagridview ist nicht mit einer Datenbank verknüpft, ihr Wert stammt von der Benutzereingabe, ist jedoch fehlgeschlagen. Jede Hilfe wäre willkommen.Hinzufügen von Werten in datagridview C#

Hier ist mein Code:

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()); 
    } 
} 

Antwort

1

Sie innere Schleife nicht brauchen, entfernen Sie es und Sie erhalten Lösung

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

Dank, es funktioniert. gibt es eine Möglichkeit, die letzte Nachricht nicht anzuzeigen, da der Wert der letzten Zeile zweimal angezeigt wird. Vielen Dank für Ihre Hilfe – DisplayName

+0

Der obige Code sollte die letzten Zeilen insgesamt nicht zweimal anzeigen. Haben Sie MessageBox.Show After-Schleife? –

+0

Nein, ich nicht, aber in der Datagridview, wenn ich eine Eingabe in einer Zeile hinzufügen, fügt es automatisch eine leere Zeile am Ende. Das ist wahrscheinlich der Grund, warum es zweimal den letzten Gesamtwert anzeigt. Ich bin mir nicht sicher, wie ich es beheben soll. – DisplayName

Verwandte Themen