الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن نقل الصفوف من datagridview1 إلى datagridview2

بدأه dot.net2008 في 4 مارس 2010 · 10 رد · 969 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ,,

11267682855.jpg

هل من احد يساعدني في كيفية التعامل مع نقل الصفوف من الجدول الاول إلى الجدول الثاني

حاولت كثيراً ,, ولكن يعطيني خطأ لا ادري ماهو !!!

هذا كود النقل ..


Dim rowindex As Integer = Nothing
Dim rowdata As String = Nothing

For i = 0 To DataGridView1.Rows.Count - 1
If DataGridView1.Item(0, i).Value = True Then
If DataGridView1.Rows(i).Cells(1).Value = "" Then
GoTo sss
End If
rowindex = DataGridView1.Rows(i).Index
rowdata = DataGridView1.Item(1, i).Value
DataGridView2.Rows.Add(False, rowdata)
DataGridView1.Rows.RemoveAt(rowindex)
Application.DoEvents()
Else
DataGridView1.Refresh()
GoTo sss
End If
sss:
Next

لا ادري ماهو الخطأ فيه ...

ومع العلم اني وبعد مسح هذا السطر من الكود


DataGridView1.Rows.RemoveAt(rowindex)

يعمل تمام .. ولكن لا يقوم بسمح الصف من الجدول فقط يقوم بنقله :)

تم تعديل هذه المشاركة بواسطة dot.net2008 في 4 مارس 2010 في 09:38

#2

up

#3

يتم الإضافه و الحذف من الـ DataGridView من خلال الـ DataSource المرتبط بتلك الـ DataGridView.

و بإفتراض ان الـ DataSource هو DataTable لذا يمكنك نقل الصفوف التى تريدها من هذا الـ DataTable لأخر بشرط تساوى عدد الحقول و انواعها داخل الجدولين إذا كنت ستنقل DataRow بأكمله من احداهما للأخر او يمكنك نقل البيانات التى تريدها كمصفوفه من النوع Object للـ Row الواحد إذا كان الجدولين مختلفين فى الهيكل.

انظر المثال الموجود فى المرفقات

DataTable Transfer.rar

المثال الموجود بالاعلى يقوم بنقل البيانات من الجدول dtSrc إلى الجدول dtDest و العكس إذا توافر شرط واحد فقط و هو ان الحقل الأول ذات النوع Boolean يحتوى على القيمه True.

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 4 مارس 2010 في 22:28

1

مدونتي: C++ Tips and Tricks

#4

السلام عليكم ,,

بارك الله فيك اخي محمد

استفدت من مثالك كثيراً ..

ولكن هل من حل لنقل الصفوف بدون الحالة لاستعمال ال datatable

لان الامر كله لا يتعلق بقواعد البيانات او اي شيء فقط اريدها للعرض

مع إمكانية نقل جميع الحقول من الجدول الاول إلى الجدول الثاني والعكس صحيح (وهو مايتمصل في زر نقل الجميع الموجود في الصورة اعلاه)

جزاك الله خيراً

#5

اذا قمت بتوضيح غايتك اكثر قد استطيع مساعدتك

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#6
Muhammad alaa كتب:

اذا قمت بتوضيح غايتك اكثر قد استطيع مساعدتك

و الله ولى التوفيق

السلام عليكم .. احسن الله إليك اخي الكريم

هذا مثال يوضح طلبي وفي زر النقل من الجدول الاول للثاني (لونه أحمر)

الزر شغال 100 % في النقل ولكن اريد ان يقوم بحذف الصف الذي يوقم بنقله :)

DataTable Transfer.rar

تم تعديل هذه المشاركة بواسطة dot.net2008 في 5 مارس 2010 في 11:31

#7

للرفع .. :)

#8

الا يوجد احد يعرف حلاً لهذا المشكلة

#9

الكود الذى قمت بكتابته خاطئ (ليس خطأ كتابى و انما خطأ منطقى) قم بتغيير الكود الخاص بنقل الصفوف داخل btnToSrc_Click و btnToDest_Click ليكون كالتالى

    Private Sub btnToDest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToDest.Click

        For Each dgr As DataGridViewRow In DataGridView1.Rows
            If dgr.Cells(0).Value = True Then
                DataGridView2.Rows.Add(False, dgr.Cells(1).Value)
                DataGridView1.Rows.Remove(dgr)
            End If
        Next

    End Sub

    Private Sub btnToSrc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToSrc.Click

        For Each dgr As DataGridViewRow In DataGridView2.Rows
            If dgr.Cells(0).Value = True Then
                DataGridView1.Rows.Add(False, dgr.Cells(1).Value)
                DataGridView2.Rows.Remove(dgr)
            End If
        Next

    End Sub

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#10

جرب المثال المرفق بعد التعديل الاخير

DataTable Transfer.rar

example1.rar

تم تعديل هذه المشاركة بواسطة المسلماني في 6 مارس 2010 في 13:05

#11

السلام عليكم

بارك الله فيكما اخواني ,, فعلاً المثالان يعملان بكفأ

ولكن هناك شيء لا ادري ماهو مشكلته

في المثال السابق جرب ان تضع check على جميع العناصر واضغط على زر نقل ولا حظ ماذا سيحدث ... !!!!!! (شيء غريب فعلاً :blink: )

rows transfer.rar

تم تعديل هذه المشاركة بواسطة dot.net2008 في 6 مارس 2010 في 17:21

مواضيع مشابهة