Private Sub SearchFullNameInDataGridView(keyword As String) For Each row As DataGridViewRow In DataGridView1.Rows If Not row.IsNewRow Then Dim cellValue As String = row.Cells("Column1").Value.ToString() If String.Equals(cellValue, keyword, StringComparison.OrdinalIgnoreCase) Then row.Selected = True DataGridView1.CurrentCell = row.Cells("Column1") DataGridView1.Rows(DataGridView1.CurrentRow.Index).Cells(2).Value += 1 Exit For End If End If Next End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim keyword As String = TextBox1.Text SearchFullNameInDataGridView(keyword) End Sub
الافضل دائما" التأكد من عدم ادخال بيانات مكررة بواسطة حقل لا يتكرر مثل الباركود مثلا
بهذه الحالة يتم عمل لوب قبل الاضافة اذا وجد رقم الباركود المراد ادخاله موجود يتم زيادة
العدد واحد والتعديل على باقي البيانات والمجموع
اريد اجمع اجمالي المبلغ في المجموع بالحقل Column3 ايضا في وقت واحد ... عدلت بالكود وكانت النتيجة يجمع Column1 و Column2 بنفس القيم كيف يكون التعديل الصحيح للكود كما هو مبين بالصورة المرفقة اعلاه
الماحظ الثانية : يتم تكرار الصنف مرة اخرى بعد الجمع .... لمن احط الكود Me.DataGridView1.Rows.Add(TextBox1.Text , TextBox2.Text ,TextBox3.Text ,TextBox4.Text )
اريد اضافة نفس كود في حال لايوجد عناصر متشابهة يقوم باضافة بأضافة العناصر بشكل عادي
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
Private Sub SearchFullNameInDataGridView(keyword As String) Dim foundMatch As Boolean = False ' متغير لتتبع ما إذا كان هناك تطابق في البحث
With DataGridView1 For Each row As DataGridViewRow In .Rows If Not row.IsNewRow Then Dim cellValue As String = row.Cells("Column1").Value.ToString() If String.Equals(cellValue, keyword, StringComparison.OrdinalIgnoreCase) Then row.Selected = True .CurrentCell = row.Cells("Column1") row.Cells(1).Value += 1 row.Cells(3).Value = Val(row.Cells(2).Value) * Val(row.Cells(1).Value) foundMatch = True ' هناك تطابق في البحث Exit For End If End If Next
If Not foundMatch Then ' لا يوجد تطابق في البحث، قم بإضافة الصف الجديد .Rows.Add(TextBox1.Text, TextBox5.Text, TextBox6.Text, Val(TextBox5.Text) * Val(TextBox6.Text)) End If End With End Sub