السلام عليكم
ساعدوني في الحل
السؤل عندي فاتوره عندما يتم بيع اكثر من صنف فانا لا اريد تكرار صف جديد في الجريد فيو وانما يقوم بزيادة قيمة الكميه
اي اني اقوم بعملية البحث قبل اظافة الصف الجديد اذا كان موجود يتم زيادة الكميه فقط
وجزاكم الله الف الف خبر
السلام عليكم
ساعدوني في الحل
السؤل عندي فاتوره عندما يتم بيع اكثر من صنف فانا لا اريد تكرار صف جديد في الجريد فيو وانما يقوم بزيادة قيمة الكميه
اي اني اقوم بعملية البحث قبل اظافة الصف الجديد اذا كان موجود يتم زيادة الكميه فقط
وجزاكم الله الف الف خبر
تم تعديل هذه المشاركة بواسطة alroaini100 في 1 نوفمبر 2013 في 01:49
جربت هذا الكود يطلع رساله
"لم يتم تعين مرجع كائن لمثيل كائن"
ارجو منكم المساعدة
int ProNo = Convert.ToInt32(pro_no.Text);
// int ProNo1 = Convert.ToInt32(pro_no.Text);
try
{
foreach (DataGridViewRow row in dgv.Rows)
{
if (row.Cells[1].Value.ToString().Equals(ProNo))
{
MessageBox.Show("رساله1");
}
else
{
MessageBox.Show("رساله2");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}تم تعديل هذه المشاركة بواسطة alroaini100 في 1 نوفمبر 2013 في 04:08
كذالك جربت هذا الكود ولكن يبحث عن الصف الاول فقط
ساعدونــــــــــــــي بالحل
protected void FillDataGridView() { if (dgv.Rows.Count >1) { for (int i = 0; i < dgv.Rows.Count-1; i++) { if (dgv.Rows.Cells[1].Value.ToString() == pro_no.Text) { dgv.Rows.Cells[3].Value = Convert.ToInt32(dgv.Rows.Cells[3].Value) + 1; dgv.Rows.Cells[6].Value = Convert.ToInt32(dgv.Rows.Cells[3].Value) * Convert.ToInt32(dgv.Rows.Cells[4].Value); // break; } else { string[] ROW = { store_no.Text, pro_no.Text, des.Text, Quantity.Text, UnitPrice.Text, Discount.Text, Total_Net_Discount.Text }; dgv.Rows.Add(ROW); break; } } } else { string[] ROW = { store_no.Text, pro_no.Text, des.Text, Quantity.Text, UnitPrice.Text, Discount.Text, Total_Net_Discount.Text }; dgv.Rows.Add(ROW); //break; } //} store_no.Text = Quantity.Text = UnitPrice.Text = Discount.Text = Total_Net_Discount.Text = des.Text = ""; pro_no.Text = ""; }ياليت يوجد حل
تم تعديل هذه المشاركة بواسطة alroaini100 في 1 نوفمبر 2013 في 19:10
جرب هذا
protected void FillDataGridView(){ bool fRowUpdate; if (dgv.Rows.Count >0) { for (int i = 0; i < dgv.Rows.Count-1; i++) { if (dgv.Rows.Cells[1].Value.ToString() == pro_no.Text) { dgv.Rows.Cells[3].Value = Convert.ToInt32(dgv.Rows.Cells[3].Value) + 1; dgv.Rows.Cells[6].Value = Convert.ToInt32(dgv.Rows.Cells[3].Value) * Convert.ToInt32(dgv.Rows.Cells[4].Value); fRowUpdate=true; break; } } } if (fRowUpdate==false) { string[] ROW = { store_no.Text, pro_no.Text, des.Text, Quantity.Text, UnitPrice.Text, Discount.Text, Total_Net_Discount.Text }; dgv.Rows.Add(ROW); break; } store_no.Text = Quantity.Text = UnitPrice.Text = Discount.Text = Total_Net_Discount.Text = des.Text = ""; pro_no.Text = "";}سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); ممكن توضح اكثر ما المشكله في الكود بضبط لا الكود يفعل ما تريد
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); السلام عليكم.
أخي سبب المشكلة هو كالتالي: أنك تقوم بعمل المقارنة وتعديل القيم ضمن حلقة الـ for. والصحيح أن تقوم بتعديل القيم بعد انتهاء حلقة الـ for. كالتالي:
string name = txtName.Text; double price = Double.Parse(txtPrice.Text); bool found = false; int foundIndex = 0; for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { DataGridViewRow row = dataGridView1.Rows; if (row.Cells[0].Value.ToString() == name) { found = true; foundIndex = i; break; } } if (!found) dataGridView1.Rows.Add(name, price); else { Double oldPrice = (Double)dataGridView1.Rows[foundIndex].Cells[1].Value; dataGridView1.Rows[foundIndex].Cells[1].Value = oldPrice + price; }أسأل الله أن ينفعك هذا.
• • •
[ ربيّ احفظ سوريا الحبيبة]

جزاكم الله الف خير جميعا
الله يسكنكم الجنه احتلت المشكله تم الوصول الي المطلوب من خلا ل تعاونكم معي
تم تعديل هذه المشاركة بواسطة alroaini100 في 2 نوفمبر 2013 في 21:08