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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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] ملأ جدولين من فورم واحد (/showthread.php?tid=36065)

الصفحات: 1 2


ملأ جدولين من فورم واحد - larbihamri - 10-08-20

السلام عليكم... كيف حال الجميع ؟
عندي فورم 1 فيه جدول و بعض المعطيات و فورم ثاني و ثالث فيهم جدولين متشابهين في كل شيء
اريد مثلا عندما يكون الفورم ثاني مفتوح يتم ملأ جدول الفورم الثاني من الفورم الأول  و عندما يكون الفورم الثالث مفتوح يتم ملأ جدول الفورم الثالث كذلك من الفورم الاول دون تكرار الكود 
شكرا للجميع


RE: ملأ جدولين من فورم واحد - larbihamri - 10-08-20

لا أعرف إن كنت قد اوصلت الفكرة او لا ؟


RE: ملأ جدولين من فورم واحد - larbihamri - 12-08-20

نرجوا المساعدة اذ امكن ذلك


RE: ملأ جدولين من فورم واحد - اسامه الهرماوي - 13-08-20

وعليكم السلام...
تفضل:
كود :
  If Form2.ShowInTaskbar Then
         كود الحفظ في الجدول المراد
       End If
ملحوظة: يمكن إستبدال ShowInTaskbar ب showicon


RE: ملأ جدولين من فورم واحد - larbihamri - 13-08-20

ليس هذا المراد المشكل ليس في معرفة اي فورم مفتوح
المشكل في كيف يمكنني ملأ داتا قريد فيو الفورم 2 او داتاقريد فيو الفورم 3 دون تكرار كتابة الكود بما ان نفس الداتا قريد الموجودة في الفورم 2 هي التي موجودة في الفورم 3


RE: ملأ جدولين من فورم واحد - ابراهيم ايبو - 13-08-20

السلام عليكم ورحمة الله وبركاته
اخي الكريم العربي
صدقا قرات سؤالك اكثر من مرة والمشكلة ان السؤال غير واضح وماتريده مبهم 
سافترض التالي : فتحت المشروع على الفورم 1 وفيه داتاغرايد فيو تم ملؤها من جدول وعندك داتاغرايد فيو في فورم 2 وتريد عند فتح الفورم 2 يتم ملءالداتا غرايد بنفس الداتا الموجودة في الغرايد العائدة للفورم 1 بدون ان تكتب كود في الفورم 2  اليس هذا ماتريد؟
ان كان ذلك هو ماتريد فقط في كود جلب البيانات واملائها في داتاغرايد الفورم الاول اضف سطرا أخر يملا الداتاغرايد الموجودة في الفورم 2 وعندما تفتح الفورم 2 ستجد ان الداتاغرايد تم ملؤها ايضا
كود :
' للفورم الاول
           Me.DataGridView1.DataSource = dt
           ' للفورم الثاني
           Form2.DataGridView1.DataSource = dt



RE: ملأ جدولين من فورم واحد - larbihamri - 13-08-20

أخي إبراهيم سوف أحاول تبسيط الفكرة (الفكرة بأكملها من أجل عدم كتابة الكود مرتين) يعني لم ارد كتابة مايلي مرة أكتب فورم 2 و مرة أكتب فورم 3 :

كود :
If Application.OpenForms().OfType(Of Form2).Any Then
           For NewRow As Integer = 0 To dt.Rows.Count - 1

               Form2.dgv_vente.Rows.Add()
               Form2.dgv_vente.CurrentCell = Form2.dgv_vente.Rows(Form2.dgv_vente.Rows.Count - 1).Cells(0)
               Dim i As Integer = Form2.dgv_vente.CurrentRow.Index

               Form2.dgv_vente.Item("id_v", i).Value = dt.Rows(i).Item("id")
               Form2.dgv_vente.Item("codeBar", i).Value = dt.Rows(i).Item("CodeBar")
               Form2.dgv_vente.Item("id_produit", i).Value = dt.Rows(i).Item("id_produit")
               Form2.dgv_vente.Item("nom_produit_v", i).Value = dt.Rows(i).Item("nom_produit")
               Form2.dgv_vente.Item("famille_produit_v", i).Value = dt.Rows(i).Item("famille_produit")
       Next    
      Else
       For NewRow As Integer = 0 To dt.Rows.Count - 1
        Form3.dgv_vente.Rows.Add()
               Form3.dgv_vente.CurrentCell = Form3.dgv_vente.Rows(Form3.dgv_vente.Rows.Count - 1).Cells(0)
               Dim i As Integer = Form3.dgv_vente.CurrentRow.Index

               Form3.dgv_vente.Item("id_v", i).Value = dt.Rows(i).Item("id")
               Form3.dgv_vente.Item("codeBar", i).Value = dt.Rows(i).Item("CodeBar")
               Form3.dgv_vente.Item("id_produit", i).Value = dt.Rows(i).Item("id_produit")
               Form3.dgv_vente.Item("nom_produit_v", i).Value = dt.Rows(i).Item("nom_produit")
               Form3.dgv_vente.Item("famille_produit_v", i).Value = dt.Rows(i).Item("famille_produit")
        Next
      End If


فكرت في كتابة هذا الكود لكن لم ينج


PHP كود :
dim frme
If Application.OpenForms().OfType(Of Form2).Any Then
frme 
= new form2
       
Else
frme =new form3 
End 
If
    For NewRow As Integer 0 To dt.Rows.Count 1

                frme
.dgv_vente.Rows.Add()
                frme.dgv_vente.CurrentCell frme.dgv_vente.Rows(frme.dgv_vente.Rows.Count 1).Cells(0)
                Dim i As Integer frme.dgv_vente.CurrentRow.Index
                
'rowindex = i

                frme.dgv_vente.Item("id_v", i).Value = dt.Rows(i).Item("id")
                frme.dgv_vente.Item("codeBar", i).Value = dt.Rows(i).Item("CodeBar")
                frme.dgv_vente.Item("id_produit", i).Value = dt.Rows(i).Item("id_produit")
                frme.dgv_vente.Item("nom_produit_v", i).Value = dt.Rows(i).Item("nom_produit")
                frme.dgv_vente.Item("famille_produit_v", i).Value = dt.Rows(i).Item("famille_produit") 



RE: ملأ جدولين من فورم واحد - بلدي - 13-08-20

يمكنك وضع الكود في موديول وارسل له ما يلزم من اسم الداتاجريد وغيره
عندها فقط تحتاج لاستدعاءه في اي مكان في المشروع سواء فورم 2 او فورم 3

هذا مثال ترسل له اسم الداتاجريد فيو واسم الداتاتابل
PHP كود :
Public Sub fff(dgv As DataGridViewdt As DataTable)
   For NewRow As Integer 0 To dt.Rows.Count 1
       dgv
.Rows.Add()
       dgv.CurrentCell dgv.Rows(dgv.Rows.Count 1).Cells(0)
       Dim i As Integer dgv.CurrentRow.Index

       dgv
.Item("id_v"i).Value dt.Rows(i).Item("id")
       dgv.Item("codeBar"i).Value dt.Rows(i).Item("CodeBar")
       dgv.Item("id_produit"i).Value dt.Rows(i).Item("id_produit")
       dgv.Item("nom_produit_v"i).Value dt.Rows(i).Item("nom_produit")
       dgv.Item("famille_produit_v"i).Value dt.Rows(i).Item("famille_produit")
   Next
End Sub 

لكن لم لا تربط الداتاجريد فيو بالداتابل مباشره بسطر واحد في كل فورم مثل
dgv_vente.DataSource = dt


RE: ملأ جدولين من فورم واحد - ابراهيم ايبو - 13-08-20

السلام عليكم
بارك الله فيك اخي بلدي
سباق للخير والمساعدة



RE: ملأ جدولين من فورم واحد - larbihamri - 13-08-20

اخي بلدي بارك الله فيك
اخي ابراهيم ايبو ، اسامة الهرماوي بارك الله فيكم


عند إستدعاء الأجراء ماذا أضع بين قوسي الإجراء ؟