• 0
نهى عيسى

نقل البيانات من فورم لفورم اخر

سؤال

اساتذتي الكرام

عندي استفسار  ومشكلة في نفس الوقت

 

انا عملت فورم  لاضافة بيانات في جدول وسميت هذا الفورم فورم الادخال

 

اما البحث عن البيانات المدخلة عملته في فورم اخر  فورم البحث

 

عملية الاضافة تمام والبحث تمام

 

المشكلة ...

لما اقوم بي البحث في فورم البحث تطلع البيانات على الداتا قرايد فيو وفي العادة  لما اريد التعديل او الحذف في سجل معين اقوم بالضغط عليه مرتين على الداتا قرايد فيو فتتعبأ التكسات  والادوات يلي في الفورم  وكل حقل في التكست الخاصة به

 

 

المهم المشكلة او المعلومة التي لا اعرفها هيا كيف اقوم بإظهار على السجل المطلوب الظاهر في الداتا قرايد في الفورم البحث الى الازارر المخاصة به الموجودة في فورم الادخال

 

 

انا اعملت هذا الكود ولا لم يعطي اي نتيجة

 

 Form2.TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value هذا الكود مكتوب على الدتا قرايد فيو في فورم البحث  وفي الحدث ماوس دبل كليك

 

Form2 هيا فورم الادخال

وطبقته على كل حقول الجدول

اكيد الكود فيه نقص اوطريقة تركيبة  فلو عندكم حل اتمنى ان تزودوني به

 

 

وشكرا لكم وعذرا على الاطالة

ف

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

لو كانت ال DataGridView في فورم مغايرة للفورم Form2 فيجب عليكي استخدام الكلاس GetForm

 

هذا الكلاس يرجع ال Instaces او المثائل او العناصر "Object" التي تم انشائها في برنامجك

 

وبما لن لديك الخاصية Name للمثيل او العنصر

قومي بإنشاء ميثود جديدة

قومي بعمل حلقة for 

ومن ثم تبحثي عن المثيل المطلوب وتقومي بإرجاعه  "اي الميثود سوف ترجع عنصر Object " هذا العنصر يدل على المثيل المطلوب التعديل عليه 

 

لو اسميتي الميثود GetInstaces 

 

عندها سيكون الكود من الشكل 

GetInstaces(InstaceName).TextBox2.Text = ....

 

المشكلة ببساطة "لو كنت فهمتك صح" 

 

انك بدك تغيري خواص عنصر من فورم Form2 وهي في الحقيقة ظاهرة حاليا اي هناك عنصر منها 

 

لذلك يجب ان تأخذي العنصر الظاهر حالياًً منها ومن ثم تعدلي عليه وليس على عنصر جديد منها 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله..

لو فرضنا أن الفورم الأول به DataGridView واسمه dgv_Customers

وبه الأعمدة التالية:

 

العمود الأول: وترتيبه = 0 ، خاص برقم الـID

العمود الثاني: وترتيبه = 1 ، خاص بالاسم Customer_Name

العمود الثالث: وترتيبه = 2 ، خاص بالعنوان Customer_Address

 

وعند النقر المزدوج على صف في الـDataGridView نريد إرسال كل المعلومات التي في هذا الصف إلى الفورم الثاني.

 

-----

في الفورم الثاني قومي بتعريف متغيرات عامة وهي:

Public CustomerID as IntegerPublic CustomerName as Stringpublic CustomerAddress As String

وفي حدث Load  للفورم الثاني اكتبي الكود التالي، على أساس أن لديك عدد 3 صناديق نصوص:

txtCustomerID.Text = CustomerID txtCustomerName.Text = CustomerName txtCustomerAddress.Text = CustomerAddress 

والفائدة هنا إظهار البيانات المرسلة من الفورم الأول.

-----------

 

نعود للفورم الأول، في حدث DoubleClick للـDataGridView اكتبي ما يلي:

 

   

Private Sub dgv_Customers_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgv_Customers.DoubleClick        If dgv_Customers.CurrentRow.Cells(0).Value <> Nothing Then            With Form2                .CustomerID = Val(dgv_Customers.CurrentRow.Cells(0).Value)                .CustomerName = dgv_Customers.CurrentRow.Cells(1).Value                .CustomerAddress = dgv_Customers.CurrentRow.Cells(2).Value                .ShowDialog()            End With        Else            MsgBox("القائمة فارغة، أو الصف المحدد فارغ", MsgBoxStyle.Critical, "عذراً")        End If    End Sub

 

 

------------

يجب عليك تغيير التسميات بما يتناسب وبرنامجك.

عند تنفيذ البرنامج انقري نقراً مزدوجاً على أحد الصفوف في الـDataGridView ولاحظي ما يحدث.

تم تعديل بواسطه AASwedan
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .