منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : السلام عليكم ورحمه الله وبركاته
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمه الله وبركاته
انا لدي جريد فيو من 10 صفوف من خليه واحده من نوع  Boolean وعندي checkbox وعندي كود إذا ضغطت علي ال checkbox يعمل تحديد لكل للصفوف ال في الجريد فيو ولكن انا عايز كود لو الغيت تحديد صف من الصوف بخلي checkbox=false
وعليك  السلام ورحمه الله وبركاته

يمكن فعل هذا اذا عرفت انه توجد خاصية SelectedItems
جيث تفوم بالتحقق مما اذا كان مجموع SelectedItems يساوي المجموع الكلي للعناصر الموجودة في جريد فيو
وعند عدم المساواة نفذ الكود التالي

كود :
CheckBox1.Checked = False

بصراحة لاادري ان كانت الاداة جريد فيو تحتوي الخاصية SelectedItems او لا 
لكن لو لم تحتوي عليها عندها عليك النفكير بطريقة تحسب فيها الـ SelectedItems
الحل سهل ان شاء الله ....

اذا كان سؤال تنفيذ كود مختلف مع كل ضغطه ف اضف الكود التالي :

كود :
If CheckBox1.Checked = False Then
           'كود تحديد الكل
       Else
           'كود  الغاء تحديد الكل

       End If


اما اذا كان سؤالك طلب ل كود الغاء تحديد العناصر .... فاسف لان الاجابه ليست معي   Confused
السلام عليكم اخي الكريم
ليست المشكلة في الكود ولكن في الحدث المناسب لما تريد
لانك ستقوم بالضغط على اي خلية من عمود التشك بوكس وستتغير القيمة بنقرة واحدة 
ولم اجد حدثا مناسبا يؤدي خلال النقر الى تغيير القيمة مع كود التحقق 
كتبت لك هذا الكود في حدث DataGridView1_CellValueChanged اي انك ستقوم بتغيير القيمة ثم اما ان تضغط مفتاح انتر او تضغط على Tab ليتم تنفيذ الكود
ضع رقم او اسم العمود الذي هو من نوع CheckBox وفق ماهو مكتوب بالكود


كود :
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
       ' تعريف متغير من نوع بوليان
       Dim chk As Boolean = True
       ' التاكد من ان الداتاغرايد ليست فارغة  تلافيا لاي خطأ
       If DataGridView1.Rows.Count > 0 Then
           If DataGridView1.CurrentRow.Cells("اسم او رقم العمودالذي فيه التشك بوكس").Selected = True Then

               ' المرور على الصفوف وعندما يجد اول فولس  يغير قيمة المتغير الى فولس وسيخرج من حلقة الدوران
               For i As Integer = 0 To DataGridView1.Rows.Count - 1
                   If DataGridView1.Rows(i).Cells("اسم او رقم العمودالذي فيه التشك بوكس").Value = False Then

                       chk = False
                       Exit For
                   End If
               Next
               ' جعل قيمة التشك بوكس الرئيسي بنفس قيمة المتغير اكان ترو ام فولس
               CheckBox1.Checked = chk
           End If
       End If
   End Sub