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

نسخة كاملة : إضافة وحذف عنصر من DataGridView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم شباب ، وجمعة مباركة عليكم جميعا .

سؤال بخصوص DataGridView

بس بغيت لو تكرمتم كود يمكنه حذف أي عنصر أحدده من القائمة التي اسمها (Letters)
على سبيل المثال أريد أحذف حرف B

ثانيا : أريد أضيف عناصر جديدة في نفس القائمة .
على سبيل المثال : أريد إضافة حرف F


ولقد أرفقت لكم مشروع بسيط كمثال للتوضيح .

ولكم مني خالص الشكر والتقدير .
وعليكم السلام...
أسلم حل هو التعامل مع قاعدة بيانات لضمان وجود البيانات لفترة أطول + التسهيل في العمل.
[مشروع] [*معدل*]باستخدام الداتاجريدفيو (Countries And Cities)

PHP كود :
Private Sub btnAdd_Click(sender As ObjectAs EventArgsHandles btnAdd.Click
        If Not IsNothing
(Me.DataGridView1.CurrentRowThen
            Dim col2 
As DataGridViewComboBoxColumn CType(Me.DataGridView1.Columns(0), DataGridViewComboBoxColumn)
 
           col2.Items.Add("F")
 
       End If
 
   End Sub
    Private Sub btnDelete_Click
(sender As ObjectAs EventArgsHandles btnDelete.Click
        If Not IsNothing
(Me.DataGridView1.CurrentRowThen
            Dim col2 
As DataGridViewComboBoxColumn CType(Me.DataGridView1.Columns(0), DataGridViewComboBoxColumn)
 
           For i As Integer 0 To col2.Items.Count 1
                Dim cv 
As String col2.Items(i).ToString
                If cv 
"B" Then
                    col2
.Items.Remove(cv)
 
                   Exit For
 
               End If
 
           Next

        Else
            MsgBox
("Nothing")
 
       End If
 
   End Sub 
تعديل كود الحذف [خطأ فادح بالكود الاول]
PHP كود :
If Not IsNothing(DataGridView1.CurrentRowThen
            Dim rowindex 
As Integer DataGridView1.CurrentRow.Index
            Dim col3 
As DataGridViewComboBoxCell DirectCast(DataGridView1.Rows(rowindex).Cells(0), DataGridViewComboBoxCell)
 
           For i As Integer 0 To col3.Items.Count 1
                Dim cv 
As String col3.Items(i).ToString
                If cv 
"B" Then
                    col3
.Items.Remove(cv)
 
                   Exit Sub
                End 
If
 
           Next
        Else
            MsgBox
("Nothing")
 
       End If 

و كذلك كود الاضافة:
PHP كود :
If Not IsNothing(Me.DataGridView1.CurrentRowThen
            Dim rowindex 
As Integer DataGridView1.CurrentRow.Index
            Dim col3 
As DataGridViewComboBoxCell DirectCast(DataGridView1.Rows(rowindex).Cells(0), DataGridViewComboBoxCell)
 
           col3.Items.Add("F")
 
       End If 
مرحبا بك أستاذ سعود



أشكرك من كل قلبي على تفضلك بالكود البرمجي

ولكن للأسف أستاذي الكود يعمل فقط إذا كان صف واحد فقط



بمعنى آخر : عند تعدد الصفوف فإنه لا يعمل بالشكل المطلوب

فلا يقوم بإزالة حرف B من كل الصفوف !



أي أن حلقة Loop لا تعمل كما يجب !



وهذا الكلام ينطبق على الحذف والإضافة .
(11-12-21, 01:24 AM)أبو خالد الشكري كتب : [ -> ]مرحبا بك أستاذ سعود



أشكرك من كل قلبي على تفضلك بالكود البرمجي

ولكن للأسف أستاذي الكود يعمل فقط إذا كان صف واحد فقط



بمعنى آخر : عند تعدد الصفوف فإنه لا يعمل بالشكل المطلوب

فلا يقوم بإزالة حرف B من كل الصفوف !



أي أن حلقة Loop لا تعمل كما يجب !



وهذا الكلام ينطبق على الحذف والإضافة .

العفو اخي الكريم
الكود الاخير ظننت انه هو  المطلوب لانه محدد بالصف اللذي تم اختياره اما الكود الاول فنعم يقوم بما افهمه الان من مشاركتك هذه اللتي اقتبستها بردي هذا.
شكرا جزيلا لك أستاذي
أنا جربت الكود الأول ، والنتيجة فتاكة Smile
اشتغل 100% مثل ما هو مطلوب بالضبط !
لك ألف شكر أستاذ سعود ، ما قصرت .
(11-12-21, 03:37 AM)أبو خالد الشكري كتب : [ -> ]شكرا جزيلا لك أستاذي
أنا جربت الكود الأول ، والنتيجة فتاكة Smile
اشتغل 100% مثل ما هو مطلوب بالضبط !
لك ألف شكر أستاذ سعود ، ما قصرت .

العفو  اخي الكريم
و الحمدلله على ذلك و اكثر.