المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
10-08-20, 11:55 AM
(آخر تعديل لهذه المشاركة : 10-08-20, 09:22 PM {2} بواسطة larbihamri.)
السلام عليكم... كيف حال الجميع ؟
عندي فورم 1 فيه جدول و بعض المعطيات و فورم ثاني و ثالث فيهم جدولين متشابهين في كل شيء
اريد مثلا عندما يكون الفورم ثاني مفتوح يتم ملأ جدول الفورم الثاني من الفورم الأول و عندما يكون الفورم الثالث مفتوح يتم ملأ جدول الفورم الثالث كذلك من الفورم الاول دون تكرار الكود
شكرا للجميع
المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
لا أعرف إن كنت قد اوصلت الفكرة او لا ؟
المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
نرجوا المساعدة اذ امكن ذلك
المشاركات : 769
المواضيع 133
الإنتساب : Feb 2018
السمعة :
64
الشكر: 1636
تم شكره 1073 مرات في 528 مشاركات
13-08-20, 03:59 AM
(آخر تعديل لهذه المشاركة : 13-08-20, 04:00 AM {2} بواسطة اسامه الهرماوي.)
وعليكم السلام...
تفضل:
كود :
If Form2.ShowInTaskbar Then
كود الحفظ في الجدول المراد
End If
ملحوظة: يمكن إستبدال ShowInTaskbar ب showicon
المبرمج لا يفكر في المشكلة بل في الحل!!
المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
13-08-20, 11:31 AM
(آخر تعديل لهذه المشاركة : 13-08-20, 11:35 AM {2} بواسطة larbihamri.)
ليس هذا المراد المشكل ليس في معرفة اي فورم مفتوح
المشكل في كيف يمكنني ملأ داتا قريد فيو الفورم 2 او داتاقريد فيو الفورم 3 دون تكرار كتابة الكود بما ان نفس الداتا قريد الموجودة في الفورم 2 هي التي موجودة في الفورم 3
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5323 مرات في 2095 مشاركات
13-08-20, 12:10 PM
(آخر تعديل لهذه المشاركة : 13-08-20, 01:48 PM {2} بواسطة ابراهيم ايبو.)
السلام عليكم ورحمة الله وبركاته
اخي الكريم العربي
صدقا قرات سؤالك اكثر من مرة والمشكلة ان السؤال غير واضح وماتريده مبهم
سافترض التالي : فتحت المشروع على الفورم 1 وفيه داتاغرايد فيو تم ملؤها من جدول وعندك داتاغرايد فيو في فورم 2 وتريد عند فتح الفورم 2 يتم ملءالداتا غرايد بنفس الداتا الموجودة في الغرايد العائدة للفورم 1 بدون ان تكتب كود في الفورم 2 اليس هذا ماتريد؟
ان كان ذلك هو ماتريد فقط في كود جلب البيانات واملائها في داتاغرايد الفورم الاول اضف سطرا أخر يملا الداتاغرايد الموجودة في الفورم 2 وعندما تفتح الفورم 2 ستجد ان الداتاغرايد تم ملؤها ايضا
كود :
' للفورم الاول
Me.DataGridView1.DataSource = dt
' للفورم الثاني
Form2.DataGridView1.DataSource = dt
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
أخي إبراهيم سوف أحاول تبسيط الفكرة (الفكرة بأكملها من أجل عدم كتابة الكود مرتين) يعني لم ارد كتابة مايلي مرة أكتب فورم 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")
المشاركات : 53
المواضيع 0
الإنتساب : Aug 2020
السمعة :
14
الشكر: 233
تم شكره 233 مرات في 90 مشاركات
13-08-20, 09:42 PM
(آخر تعديل لهذه المشاركة : 13-08-20, 09:49 PM {2} بواسطة بلدي.)
يمكنك وضع الكود في موديول وارسل له ما يلزم من اسم الداتاجريد وغيره
عندها فقط تحتاج لاستدعاءه في اي مكان في المشروع سواء فورم 2 او فورم 3
هذا مثال ترسل له اسم الداتاجريد فيو واسم الداتاتابل
PHP كود :
Public Sub fff(dgv As DataGridView, dt 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
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5323 مرات في 2095 مشاركات
السلام عليكم
بارك الله فيك اخي بلدي
سباق للخير والمساعدة
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 501
المواضيع 119
الإنتساب : Jul 2014
السمعة :
16
الشكر: 1786
تم شكره 1291 مرات في 275 مشاركات
13-08-20, 11:09 PM
(آخر تعديل لهذه المشاركة : 14-08-20, 12:02 AM {2} بواسطة larbihamri.)
اخي بلدي بارك الله فيك
اخي ابراهيم ايبو ، اسامة الهرماوي بارك الله فيكم
عند إستدعاء الأجراء ماذا أضع بين قوسي الإجراء ؟
|