PDA

View Full Version : تغییر مقدار در صورت وجود سطر در Datagridview و اضافه کردن در غیر اینصورت



loveali
جمعه 27 فروردین 1395, 13:53 عصر
با سلام
من قصد ساخت ی برنامه مدیریت رستوران ساده رو داشتم
برنامه زیر رو نوشتم
زمانی که کاربر روی >> کلیک می کنه غذا و قیمت و تعداد به لیست افزوده میشه
ولی مشکلی که داره اینه که اگر یه غذا رو دوبار بزنه به مقدار قبلی اضافه نمیشه و item جدید ایجاد میکنه
ممنون میشم راهنمایی کنید

http://barnamenevis.org/attachment.php?attachmentid=140028&d=1460713796

khokhan
جمعه 27 فروردین 1395, 16:58 عصر
با سلام
من قصد ساخت ی برنامه مدیریت رستوران ساده رو داشتم
برنامه زیر رو نوشتم
زمانی که کاربر روی >> کلیک می کنه غذا و قیمت و تعداد به لیست افزوده میشه
ولی مشکلی که داره اینه که اگر یه غذا رو دوبار بزنه به مقدار قبلی اضافه نمیشه و item جدید ایجاد میکنه
ممنون میشم راهنمایی کنید










یه پرس و جو بین ردیفهای لیست می کنی و اگه غذای انتخابی قبلا توی لیست بود یه چند تا عمل ساده ریاضی توش انجام می دی و اگه نبود یه سطر جدید اضافه می کنی :


for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (!dataGridView1.Rows[i].IsNewRow)
{
if (dataGridView1[1, i].Value.ToString() == comboBox1.Text)
{
Int32 oldcount = Int32.Parse(dataGridView1[2, i].Value.ToString());
Int32 oldpric = Int32.Parse(dataGridView1[3, i].Value.ToString());

dataGridView1[2, i].Value = oldcount + Int32.Parse(textBox2.Text);
dataGridView1[3, i].Value = oldpric + (Int32.Parse(textBox1.Text) * Int32.Parse(textBox2.Text));
return;
}
}
}
Int32 counta=Int32.Parse(textBox1.Text.ToString());
Int32 pricea=Int32.Parse(textBox2.Text.ToString());
string firstColum = "";
string val1 = comboBox1.Text;
string val2 = textBox2.Text;
string val3 =(pricea * counta).ToString();
string[] row = { firstColum, val1, val2, val3 };
dataGridView1.Rows.Add(row);