تقييم الموضوع :
  • 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 ك ب / التحميلات : 11)
الرد
تم الشكر بواسطة:
#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 قطعة

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عرض معلومات ف DatagridView Emam emam 6 161 منذ 8 ساعة مضت
آخر رد: Emam emam
  [VB.NET] أريد مساعدتي في عمل برنامج يستطيع التعرف علي وجه انسان داخل فديو اوصورة ؟ PeterGhattas082460 1 92 07-12-18, 01:54 AM
آخر رد: محمد كريّم
  كيف يمكنك فتح اكثر من فورم داخل فورم الرئيسي mostafa zaki 11 8,224 06-12-18, 10:08 PM
آخر رد: PeterGhattas082460
  سؤال بخصوص الكتابة داخل داتا جريد احمد خطاب 3 86 05-12-18, 11:35 AM
آخر رد: احمد خطاب
  كيفية دمع بيانات فى تكست بوكس واحد سمير جمال 3 85 04-12-18, 04:07 PM
آخر رد: Rabeea Qbaha
  انقاص الكمية من جدول الاصناف العيدروس 7 165 01-12-18, 02:06 PM
آخر رد: حريف برمجة
  [VB.NET] كيف يمكن تحديد كلمة بلون داخل listview XBOOBX 1 80 30-11-18, 06:28 PM
آخر رد: XBOOBX
  جلب الروابط داخل النصوص بالريجيكس ابو روضة 3 173 30-11-18, 05:13 PM
آخر رد: ابو روضة
  البحث داخل الجريد mmali127 4 111 27-11-18, 09:32 AM
آخر رد: mmali127
  استفسار داخل Tabcontrol عبدالرحمن المكاوي 2 84 24-11-18, 12:34 PM
آخر رد: عبدالرحمن المكاوي

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


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