تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جمع الكمية لصنف واحد داخل datagridview
#1
السلام عليكم اخوانى المحترمين 


اقوم بادخال الفاتورة عن طريق الدتاجريد فيوم لا عن طريق التكست بوكس اريد عندما اقوم باضافة صنف موجود فى الدتاجريد فيو فانة يقوم باضافة الكمية فقط على نفس الصنف ولا يضيفة مرة اخرى فى الدتاجريد فيو 

   
- سوال تانى اعذرونى ممكن التعديل على رقم بداخل خلية قمت باستدعئها
انا عندما اقوم بكتابة كود الصنف فيقوم باستدعاء بيانات الصنف ومن بين هذه البيانات استدعاء اخر سعر تكلفة فاذا كان سعر التكلفة الجديد هوة نفس السعر القديم فلا اقوم بالتعديل اما اذا كان مختلف فاغير السعر القديم الى السعر الجديد 
المشكلة عندما اقوم بتغيير السعر واضغط انتر فيرجع الى السعر القديم الذى تم استدعائة من قاعدة البيانات 

جزاكم الله خيرا تحياتى للجميع
الرد
#2
(01-12-18, 07:13 PM)atef_020 كتب : السلام عليكم اخوانى المحترمين 


اقوم بادخال الفاتورة عن طريق الدتاجريد فيوم لا عن طريق التكست بوكس اريد عندما اقوم باضافة صنف موجود فى الدتاجريد فيو فانة يقوم باضافة الكمية فقط على نفس الصنف ولا يضيفة مرة اخرى فى الدتاجريد فيو 


- سوال تانى اعذرونى ممكن التعديل على رقم بداخل خلية قمت باستدعئها
انا عندما اقوم بكتابة كود الصنف فيقوم باستدعاء بيانات الصنف ومن بين هذه البيانات استدعاء اخر سعر تكلفة فاذا كان سعر التكلفة الجديد هوة نفس السعر القديم فلا اقوم بالتعديل اما اذا كان مختلف فاغير السعر القديم الى السعر الجديد 
المشكلة عندما اقوم بتغيير السعر واضغط انتر فيرجع الى السعر القديم الذى تم استدعائة من قاعدة البيانات 

جزاكم الله خيرا تحياتى للجميع

انت متصل بالاكسس.
الرد
تم الشكر بواسطة:
#3
(01-12-18, 07:13 PM)atef_020 كتب : السلام عليكم اخوانى المحترمين 


اقوم بادخال الفاتورة عن طريق الدتاجريد فيوم لا عن طريق التكست بوكس اريد عندما اقوم باضافة صنف موجود فى الدتاجريد فيو فانة يقوم باضافة الكمية فقط على نفس الصنف ولا يضيفة مرة اخرى فى الدتاجريد فيو 


- سوال تانى اعذرونى ممكن التعديل على رقم بداخل خلية قمت باستدعئها
انا عندما اقوم بكتابة كود الصنف فيقوم باستدعاء بيانات الصنف ومن بين هذه البيانات استدعاء اخر سعر تكلفة فاذا كان سعر التكلفة الجديد هوة نفس السعر القديم فلا اقوم بالتعديل اما اذا كان مختلف فاغير السعر القديم الى السعر الجديد 
المشكلة عندما اقوم بتغيير السعر واضغط انتر فيرجع الى السعر القديم الذى تم استدعائة من قاعدة البيانات 

جزاكم الله خيرا تحياتى للجميع

وعليكم السلام ورحمة الله وبركاته ،،،

القي نظرة
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة:
#4
السلام عليكم اريد عمل ازرار كما هومبين بالفيديو : https://www.youtube.com/watch?v=WnO8MIyIaw0   

مع العلم اني قمت بتحميل ملف ddl  
وجاتني رسالة "Your app has entered a break state, but there is no code to show because all threads were executing external code (typically system or framework code)
الرد
تم الشكر بواسطة:
#5
(01-12-18, 11:26 PM)حريف برمجة كتب :
(01-12-18, 07:13 PM)atef_020 كتب : السلام عليكم اخوانى المحترمين 


اقوم بادخال الفاتورة عن طريق الدتاجريد فيوم لا عن طريق التكست بوكس اريد عندما اقوم باضافة صنف موجود فى الدتاجريد فيو فانة يقوم باضافة الكمية فقط على نفس الصنف ولا يضيفة مرة اخرى فى الدتاجريد فيو 


- سوال تانى اعذرونى ممكن التعديل على رقم بداخل خلية قمت باستدعئها
انا عندما اقوم بكتابة كود الصنف فيقوم باستدعاء بيانات الصنف ومن بين هذه البيانات استدعاء اخر سعر تكلفة فاذا كان سعر التكلفة الجديد هوة نفس السعر القديم فلا اقوم بالتعديل اما اذا كان مختلف فاغير السعر القديم الى السعر الجديد 
المشكلة عندما اقوم بتغيير السعر واضغط انتر فيرجع الى السعر القديم الذى تم استدعائة من قاعدة البيانات 

جزاكم الله خيرا تحياتى للجميع

وعليكم السلام ورحمة الله وبركاته ،،،

القي نظرة
اخى المحترم حريف برمجة
 هذا مثال رائع وهذا ما اريدة ولكن لا استطيع التطبيق لوجود اخطاء عندى ارجو المساعدة 
ارسلت لك المشروع فى هذا الرابط
http://vb4arb.com/vb/private.php?action=read&pmid=57612

جزاك الله خيرا اخى الكريم 
الرد
تم الشكر بواسطة:
#6
(01-12-18, 11:32 PM)anis كتب : السلام عليكم اريد عمل ازرار كما هومبين بالفيديو : https://www.youtube.com/watch?v=WnO8MIyIaw0   

مع العلم اني قمت بتحميل ملف ddl  
وجاتني رسالة "Your app has entered a break state, but there is no code to show because all threads were executing external code (typically system or framework code)

الأخ انيس ،، وعليكم السلام ورحمة الله وبركاته ،،

بسب اختلاف سؤالك عن سؤال صاحب الموضوع ،، قم بفتح موضوع جديد واشرح ما تريد وان امكن ضع مثال للمشكلة .

الأخ عاطف ،،

اعمل مثال صغير للشاشة التي بها مشكلة وارفقها وستجد الحل بشكل اسرع ،،
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة:
#7
(03-12-18, 04:56 PM)حريف برمجة كتب :
(01-12-18, 11:32 PM)anis كتب : السلام عليكم اريد عمل ازرار كما هومبين بالفيديو : https://www.youtube.com/watch?v=WnO8MIyIaw0   

مع العلم اني قمت بتحميل ملف ddl  
وجاتني رسالة "Your app has entered a break state, but there is no code to show because all threads were executing external code (typically system or framework code)

الأخ انيس ،، وعليكم السلام ورحمة الله وبركاته ،،

بسب اختلاف سؤالك عن سؤال صاحب الموضوع ،، قم بفتح موضوع جديد واشرح ما تريد وان امكن ضع مثال للمشكلة .

الأخ عاطف ،،

اعمل مثال صغير للشاشة التي بها مشكلة وارفقها وستجد الحل بشكل اسرع ،،

دا مثال الشاشة المطلوبة 

اريد التعديل كما فى المثال لديك  الذى تفضلت بة
.
اريد اذا كان الصنف موجود فى datagridview فيضيف الكمية المدخلة ولا يتم تكرار بيانات الصنف مرة اخرى 
اما اذا كانت الكمية عدد كبير مثلا 20 اريد ان يتم تحرير خلية الكمية لتعديل الكمية الى العدد المطلوب ...... تحياتى لك اخى الكريم 


.rar   test.rar (الحجم : 92.42 ك ب / التحميلات : 23)
الرد
تم الشكر بواسطة:
#8
مرحبا ،،

أولا اتبع الصور :

انقر على الداتاقريدفيو واختار Add Column


   

   

   

ثانياً : امسح الكود تبعك وانسخ الكود والصقه في حدث CellEndEdit الخاص بالداتاقريدفيو :

كود :
dgv.Rows(e.RowIndex).Cells(0).Value = Format(Val(dgv.Rows(e.RowIndex).Cells(0).Value))

       'بداية جلب البيانات الموجودة في المتجر بشرط رقم الصنف
       Dim dp As New OleDbDataAdapter(sqlstr, con)
       dp.SelectCommand.Parameters.AddWithValue("@code", dgv.Rows(e.RowIndex).Cells(0).Value)
       Dim dt As New DataTable
       dp.Fill(dt)

       If dt.Rows.Count = 0 Then   'رقم الصنف غير موجود في الجدول

           'نمنع اضافة سطر جديد في القريد
           dgv.AllowUserToAddRows = False

           MsgBox("هذا الصنف غير معرف في بطاقة الصنف", MsgBoxStyle.MsgBoxRight + MsgBoxStyle.Critical, "خطأ ")

           dgv.CurrentCell = dgv.Rows(e.RowIndex).Cells(0)
           dgv.Rows(e.RowIndex).Cells(0).Value = ""          'نفرغ الخلية الأولى من رقم الصنف الغير موجود
           dgv.Rows(e.RowIndex).Cells(0).Selected = True     'نضع المؤشر في الخلية الأولى لإستقبال رقم الصنف

           Exit Sub      'نخرج من تكملة الكود
       End If
       'نهاية جلب البيانات الموجودة في المتجر بشرط رقم الصنف



       'هنا نعمل دوران على الداتاقريدفيو للتحقق في حالة وجود باركود الصنف
       For i = 0 To dgv.Rows.Count - 1

           'هنا إذا رقم الصنف موجود في الداتاقريدفيو نتأكد إذا الكمية المراد بيعها اكبر من الكمية الموجودة في المتجر نظهر رسالة والخروج من تكملة الكود
           If dgv.Rows(i).Cells(0).Value = dgv.CurrentCell.Value And dgv.Rows(i).Cells(1).Value <> "" Then

               'هنا رقم الصنف موجود في الداتاقريدفيو ولكن الكمية المراد بيعها اقل من الكمية الموجوده في المتجر
               'نزيد 1 في خلية الكمية
               dgv.Rows(i).Cells(2).Value = dgv.Rows(i).Cells(2).Value + 1

               'وضع قيمة المجموع في القريد بضرب السعر في الكمية الجديدة
               dgv.Rows(i).Cells(4).Value = (dgv.Rows(i).Cells(2).Value * dgv.Rows(i).Cells(3).Value)

               'نمنع اضافة سطر جديد في القريد
               dgv.AllowUserToAddRows = False

               'بعد اضافة 1 للكمية السابقة في القريد نفرغ القيمة المدخلة
               dgv.Rows(e.RowIndex).Cells(0).Value = ""

               'يبقى المؤشر في مكانه بعد اضافة 1 للكمية السابقة
               dgv.Rows(e.RowIndex).Cells(0).Selected = True

               Exit Sub

           End If
       Next      'نهاية الدوران والتأكد من رقم الصنف موجود في الداتاقريدفيو



       'هنا رقم الصنف غير موجود في الداتاقريدفيو لذلك سوف نقوم بإضافته
       dgv.Rows(e.RowIndex).Cells(0).Value = dt.Rows(0)(0).ToString
       dgv.Rows(e.RowIndex).Cells(1).Value = dt.Rows(0)(1).ToString
       dgv.Rows(e.RowIndex).Cells(3).Value = dt.Rows(0)(2).ToString

       'نضع 1 في خلية الكمية
       dgv.Rows(e.RowIndex).Cells(2).Value = 1

       'وضع قيمة المجموع في القريد بضرب السعر في الكمية
       dgv.Rows(dgv.CurrentRow.Index).Cells(4).Value = (dgv.Rows(dgv.CurrentRow.Index).Cells(2).Value * dgv.Rows(dgv.CurrentRow.Index).Cells(3).Value)

       'نسمح اضافة سطر جديد في القريد
       dgv.AllowUserToAddRows = True

       'نضع المؤشر في خلية الباركود في السطر الجديد
       dgv.CurrentCell = dgv.Rows(e.RowIndex + 1).Cells(0)


       'ترتيب الداتاقريدفيو بناء على رقم الصنف
       dgv.Sort(dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة: atef_020
#9
PHP كود :
for as integer 0 to datagridview1.rows.count-1
if datagridview1.rows(i).cells(0).value dt.rows(0).items("item_code"then
datagridview1
.rows(i).cells(0).value=datagridview1.rows(i).cells(0).value+1
end 
if 
next 
الرد
تم الشكر بواسطة:
#10
(03-12-18, 07:28 PM)حريف برمجة كتب : مرحبا ،،

أولا اتبع الصور :

انقر على الداتاقريدفيو واختار Add Column








ثانياً : امسح الكود تبعك وانسخ الكود والصقه في حدث CellEndEdit الخاص بالداتاقريدفيو :

كود :
dgv.Rows(e.RowIndex).Cells(0).Value = Format(Val(dgv.Rows(e.RowIndex).Cells(0).Value))

       'بداية جلب البيانات الموجودة في المتجر بشرط رقم الصنف
       Dim dp As New OleDbDataAdapter(sqlstr, con)
       dp.SelectCommand.Parameters.AddWithValue("@code", dgv.Rows(e.RowIndex).Cells(0).Value)
       Dim dt As New DataTable
       dp.Fill(dt)

       If dt.Rows.Count = 0 Then   'رقم الصنف غير موجود في الجدول

           'نمنع اضافة سطر جديد في القريد
           dgv.AllowUserToAddRows = False

           MsgBox("هذا الصنف غير معرف في بطاقة الصنف", MsgBoxStyle.MsgBoxRight + MsgBoxStyle.Critical, "خطأ ")

           dgv.CurrentCell = dgv.Rows(e.RowIndex).Cells(0)
           dgv.Rows(e.RowIndex).Cells(0).Value = ""          'نفرغ الخلية الأولى من رقم الصنف الغير موجود
           dgv.Rows(e.RowIndex).Cells(0).Selected = True     'نضع المؤشر في الخلية الأولى لإستقبال رقم الصنف

           Exit Sub      'نخرج من تكملة الكود
       End If
       'نهاية جلب البيانات الموجودة في المتجر بشرط رقم الصنف



       'هنا نعمل دوران على الداتاقريدفيو للتحقق في حالة وجود باركود الصنف
       For i = 0 To dgv.Rows.Count - 1

           'هنا إذا رقم الصنف موجود في الداتاقريدفيو نتأكد إذا الكمية المراد بيعها اكبر من الكمية الموجودة في المتجر نظهر رسالة والخروج من تكملة الكود
           If dgv.Rows(i).Cells(0).Value = dgv.CurrentCell.Value And dgv.Rows(i).Cells(1).Value <> "" Then

               'هنا رقم الصنف موجود في الداتاقريدفيو ولكن الكمية المراد بيعها اقل من الكمية الموجوده في المتجر
               'نزيد 1 في خلية الكمية
               dgv.Rows(i).Cells(2).Value = dgv.Rows(i).Cells(2).Value + 1

               'وضع قيمة المجموع في القريد بضرب السعر في الكمية الجديدة
               dgv.Rows(i).Cells(4).Value = (dgv.Rows(i).Cells(2).Value * dgv.Rows(i).Cells(3).Value)

               'نمنع اضافة سطر جديد في القريد
               dgv.AllowUserToAddRows = False

               'بعد اضافة 1 للكمية السابقة في القريد نفرغ القيمة المدخلة
               dgv.Rows(e.RowIndex).Cells(0).Value = ""

               'يبقى المؤشر في مكانه بعد اضافة 1 للكمية السابقة
               dgv.Rows(e.RowIndex).Cells(0).Selected = True

               Exit Sub

           End If
       Next      'نهاية الدوران والتأكد من رقم الصنف موجود في الداتاقريدفيو



       'هنا رقم الصنف غير موجود في الداتاقريدفيو لذلك سوف نقوم بإضافته
       dgv.Rows(e.RowIndex).Cells(0).Value = dt.Rows(0)(0).ToString
       dgv.Rows(e.RowIndex).Cells(1).Value = dt.Rows(0)(1).ToString
       dgv.Rows(e.RowIndex).Cells(3).Value = dt.Rows(0)(2).ToString

       'نضع 1 في خلية الكمية
       dgv.Rows(e.RowIndex).Cells(2).Value = 1

       'وضع قيمة المجموع في القريد بضرب السعر في الكمية
       dgv.Rows(dgv.CurrentRow.Index).Cells(4).Value = (dgv.Rows(dgv.CurrentRow.Index).Cells(2).Value * dgv.Rows(dgv.CurrentRow.Index).Cells(3).Value)

       'نسمح اضافة سطر جديد في القريد
       dgv.AllowUserToAddRows = True

       'نضع المؤشر في خلية الباركود في السطر الجديد
       dgv.CurrentCell = dgv.Rows(e.RowIndex + 1).Cells(0)


       'ترتيب الداتاقريدفيو بناء على رقم الصنف
       dgv.Sort(dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
 ت
سلم ايدك اخى الكريم اشتغل تمام 
بس فية طلب لو عاوز اضيف كمية اكثر من الصنف وليكن 20 قطعة من السكر ممكن طريقة انى اضغط مثلا على f5 ليقوم بتحرير خلية الكمية لاقوم بالتعديل على الكمية من 1 الى 20 قطعة

عند حفظ الفاتورة فية خطاء 
     
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [Acces2007] كيف يمكن استخدام اداة WebBrowser4 داخل الاكسز بدون حفظ الروابط المستخدمة على الجهاز come2playati 0 34 05-02-19, 09:04 PM
آخر رد: come2playati
  مطلوب عرض تفاصيل بيانات داخل Texbox عن طريق ListView ... احتاج كود استعلام mohamedgadain61 9 263 30-01-19, 06:42 AM
آخر رد: حريف برمجة
  طريقة عرض قيمتين فى تكست بوكس واحد سمير جمال 1 122 16-01-19, 01:58 PM
آخر رد: حريف برمجة
  [سؤال] كيف امسح حرف او حرفين من داخل تيكست dametucorazon 2 103 12-01-19, 08:43 PM
آخر رد: حريف برمجة
  [VB.NET] أضافه فورم داخل فورم بدون كود أستفسار adel27 21 3,159 10-01-19, 02:38 AM
آخر رد: taregmusa
  سؤال بخصوص تحديث بيانات DataGridView abdullhadi999 14 421 09-01-19, 10:56 PM
آخر رد: abdullhadi999
  [سؤال] كيفية البحث داخل حقل تيكست عن كلمة بداخله والمقارنة dametucorazon 3 219 09-01-19, 11:29 AM
آخر رد: dametucorazon
  طريقة تحديد الكل داخل خلية فى datagridviw atef_020 19 501 07-01-19, 03:36 PM
آخر رد: atef_020
  عرض معلومات ف DatagridView Emam emam 9 393 02-01-19, 03:47 PM
آخر رد: new_programer
  بخصوص حفظ البيانات فى ملف داخل مجلد البرنامج salah mansour 0 124 28-12-18, 02:45 AM
آخر رد: salah mansour

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم