Ich stecke hier fest.
Ich habe ein DataGridView mit 8 Spalten (das siebte wartet auf Benutzereingaben und das achte tut etwas Mathe).
Dies ist das übergeordnete FormularWie fügt man Werte aus mehreren DataGridViewCell hinzu und gibt sie an TextBox aus?
Als ich "Adauga" klicken, die auf "Hinzufügen", die Gesamt Kcal Textbox bedeutet sollte seinen Wert auf
kcal (Spalte) * (cantitate = Menge) und Pret aktualisieren Total = Total Price aktualisiert seinen Wert auf pret = Preis (Spalte) * (kantit)
und zwar nur für eine Zeile. Lassen Sie mich erklären: Wie Sie oben sehen können, klickte ich den 3. (von oben nach unten) Knopf und es gab 618,10 zurück (Preis ist 10 * 1 Menge) (kcal ist 618 * 1 Menge), aber wenn ich auch den ersten Knopf klicke , sehen They don't add
die Werte nicht zu den vorherigen hinzufügen, und ich weiß nicht, wie dies zu tun ist. Dies ist der Code:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
var pret = dataGridView1.Rows[e.RowIndex].Cells[3].Value;
var kcal = dataGridView1.Rows[e.RowIndex].Cells[4].Value;
var qt = dataGridView1.Rows[e.RowIndex].Cells[6].Value;
int qty = int.Parse(qt.ToString());
int kca = int.Parse(kcal.ToString());
int pre = int.Parse(pret.ToString());
int kcalTotal = 0, pretTotal = 0;
kcalTotal = kcalTotal + (qty * kca);
pretTotal = pretTotal + (qty * pre);
totalPR.Text = pretTotal.ToString();
totalKC.Text = kcalTotal.ToString();
}
}
Wenn ich dies tun, bekomme ich den Fehler "Eingabe String war nicht in einem korrekten Format." –
Das ist (wahrscheinlich), weil der Standardwert Ihrer Textfelder leer ist. Sie müssen entweder "try-catch" verwenden, den Standardwert der Textfelder auf "0" setzen oder "int.TryParse" verwenden. Ich habe meine Antwort bearbeitet und sie in den int.TryParse-Ansatz geändert. – zockDoc
Es funktioniert, danke. Können Sie mir die "Magie" hinter diesen Codezeilen sagen? Ich bin neu in C# WinForms, lernen jeden Tag :) Btw, Sie haben den TryParse-Ansatz verwendet, aber welche der drei, die Sie erwähnt haben, ist die effektivste? –