我被困在这里。
我有一个8列的DataGridView(第7个等待用户输入,第8个进行一些数学运算)。
这是父表格
当我点击" Adauga"这意味着"添加",Total Kcal文本框应将其值更新为
kcal(列)*(cantitate = quantity)和Pret Total = Total Price更新其值为pret = Price(列) *(cantitate)
它这样做,但只有一行。让我解释一下:正如你在上面看到我点击了第3个(从上到下)按钮它返回618,10(价格是10 * 1数量)(kcal是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();
}
}
答案 0 :(得分:0)
如果我正确理解了您的问题,您需要总结所点击行的值。所以在你第一次点击之后,价格TextBox应该显示10,在下一个23之后。如果这就是你的问题的意思,你只需要添加几行:
变化
int kcalTotal = 0, pretTotal = 0;
到
int kcalTotal = 0, pretTotal = 0;
int.TryParse(totalKC.Text, out kcalTotal);
int.TryParse(totalPR.Text, out pretTotal);