0
我被困在這裏。
我有一個8列的DataGridView(第7等待用戶輸入,第8個有一些數學)。
這是父窗體如何從多個DataGridViewCell添加值並將它們輸出到TextBox?
當我點擊「Adauga」,這意味着「添加」,總千卡文本應的值更新爲
千卡(列)*(cantitate =量)和高級成衣總計=總價格將其值更新爲pret = Price(列)*(cantitate)
並且這樣做,但僅限於一行。讓我解釋一下:正如你上面看到的,我點擊了第三個(從上到下)按鈕,它返回618,10(價格是10 * 1數量)(千卡是618 * 1數量),但如果我也點擊第一個按鈕,看起來They don't add
值不添加到以前的,我不知道如何做到這一點。 這是代碼:
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();
}
}
如果我這樣做,我會收到錯誤「輸入字符串的格式不正確。」 –
這是(可能),因爲您的文本框的默認值爲空。您必須使用'try-catch',將文本框的默認值設置爲「0」或使用「int.TryParse」。 我編輯了我的答案,並將其更改爲int.TryParse方法。 – zockDoc
它的工作原理,謝謝。你能告訴我這些代碼行後面的「魔術」嗎?我是C#WinForms的新手,每天學習:) 順便說一句,你使用了TryParse方法,但是你提到的三種方法中哪一種最有效? –