وعليكم السلام ورحمة الله وبركاته
بالنسبة للحذف من أي قائمة بشكل عام الأفضل أن تحذف تراجعياً (حيطة)
لأنه لا يوجد برنامج كامل أو أداة مصنوعة بشكل قياسي .. فالبعض يكون فيها قصور
لذا إن حذفت من النهاية للبداية ستكون حتماً قد حذفت كل ما أردت فعله (لأن الرقم المرجعي للعنصر التالي لن يتغير رقم مرجعه)
لأنك لو حذفت من البداية للنهاية فأغلب القوائم تعتمد على الرقم المرجعي للصف
فإذا حذفت الصف الثاني وأردت حذف الثالث أو الرابع (فإن الرقم المرجعي للصف الثالث وكذالك الرابع سيختلف بمجرد حذف سطر قبله)
فإن لم يكن صانع هذه الأداة قد راعى هذا الأمر من البداية وضمن مجال تصوره (يعني خياله واسع جداً على التصور):
فإن ذلك سيكون مشكلة لمن يستخدم هذه الأداة من بعده. (مهما كان المبرمج محترف فإن له هفوات - لا يوجد انسان كامل فضلاً عن مبرمج)
الكود الذي استخدمته للحذف كود رائع ومميز ولكن من مبدأ الحيطة أن تستخدم الكود التالي
لأنه سيناسب كل أداة مهما كان تصور مبرمجها :
كود :
For i1 = (DataGridView1.Rows.Count - 1) To 0 Step -1
Dim isselect As Boolean = DataGridView1.Rows(i1).Cells(3).Value
If isselect = True Then
DataGridView1.Rows.RemoveAt(i1)
End If
Next