منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيفية نجعل CheckBox في DataGridView كأنه RadioButton - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيفية نجعل CheckBox في DataGridView كأنه RadioButton (/showthread.php?tid=40135)



كيفية نجعل CheckBox في DataGridView كأنه RadioButton - أبو خالد الشكري - 30-11-21

السلام عليكم يا شباب البرمجة 

عندي سؤال مهم جدا ..

كيف أجعل Checkbox في عمود رقم 4 مثلا في شبكة البيانات DataGridView  بحيث يبدو كأنه RadioButton
بمعنى آخر أن البرنامج يسمح لي باختيار مربع واحد فقط في هذا العمود .

مثال :
المربع المحدد حاليا هو الثاني من العمود 4
ولكن عندما أنقر مربع آخر من نفس العمود 4 فإن التحديد السابق يلغى ويتم تحديد المربع الذي تم النقر عليه حاليا .
يعني تماما كأن المربعات في هذا العمود تعمل وكأنها RadioButton


أرجو أن يكون سؤالي واضحّا بالنسبة لكم .
وتقبلوا تحياتي الخالصة .


RE: كيفية نجعل CheckBox في DataGridView كأنه RadioButton - E100 - 30-11-21

اعمل متغير لتحتفظ برقم السطر الذي ضغطت فيه على Checkbox
ثم تعمل حلقة For فتمر على كل الاسطر وتجعل Checkbox بقيمة False
وفي النهاية تذهب للسطر الذي احتفظت برقمه في المتغير وتجعل Checkbox الخاص به بقيمة True


RE: كيفية نجعل CheckBox في DataGridView كأنه RadioButton - سعود - 30-11-21

السلام عليكم ورحمة الله وبركاته
حبيت اشارك بما فهمته من مشاركة الاخ اللذي سبقني :
في حدث CellClick
PHP كود :
 Dim rowindex As Integer d.CurrentRow.Index
        For Each row 
As DataGridViewRow In d.Rows
            If row
.IsNewRow False Then
                If e
.ColumnIndex 1 Then
                    row
.Cells(1).Value False
                End 
If
 
           End If
 
       Next
        d
.Rows(rowindex).Cells(1).Value True 
d = DataGridView

وايضا جربت الكود هذا بتعديل بسيط:
بنفس الحدث:
PHP كود :
For Each row As DataGridViewRow In d.Rows
            If row
.IsNewRow False Then
                If e
.ColumnIndex 1 Then
                    If d
.CurrentRow.Index row.Index Then
                        row
.Cells(1).Value True
                    Else
                        row
.Cells(1).Value False
                    End 
If

 
               End If
 
           End If
 
       Next 

(30-11-21, 01:38 PM)أبو خالد الشكري كتب : للأسف ما تمكنت من حل المشكلة بواسطة الحل الذي أعطيتني اياه
لو فيه حل برمجي آخر بيكون أفضل ...

أنتظر حلول أخرى .
وشكرا .

هل ظهرت لك رسالة خطأ ام ماذا؟
لانها عملت معي بشكل جيد.
في الحدث CellClick تستطيع الوصول الى الاندكس الخاص بالصف  عبر e.RowIndex  و كذلك عبر  dgv.CurrentRow.Index



RE: كيفية نجعل CheckBox في DataGridView كأنه RadioButton - أبو خالد الشكري - 30-11-21


خلاص اشتغلت 100%

شكرا جزيلا لك أستاذ سعود
ما قصرت