منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] بالنسبة للعلاقة بين جدولين! - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] بالنسبة للعلاقة بين جدولين! (/showthread.php?tid=15073)



بالنسبة للعلاقة بين جدولين! - Selmez - 11-03-16

السلام عليكم ورحمة الله وبركاته ،،
صباح/مساء الخير


- عندي جدولين ، سويت بينهم Relation ، لكن عند الاستعلام عن البيانات ، البيانات في الجدول الـ Parent تظهر بشكل ممتاز بينما البيانات في الـ Child تظهر! لكن غير مرتبطة في بيانات الـ Parent ، مع العلم أنه تم الربط بينهما بالكود.
- أيضاً كيف يتم تفعيل أزرار التنقل ؟

الـ Project في المرفقات

وشكراً


RE: بالنسبة للعلاقة بين جدولين! - boudyonline - 11-03-16

اخي الفاضل :

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


RE: بالنسبة للعلاقة بين جدولين! - Selmez - 11-03-16

(11-03-16, 05:04 PM)boudyonline كتب : اخي الفاضل :

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

أحسنت ، لكن !

- لماذا لم تستخدم العلاقة بين الجدولين لإظهار البيانات المرتبطة بالجدول الأساسي في DatagridView ؟

كود :
Dim dr As DataRelation = New DataRelation("dd", ds.Tables("T1").Columns("dept_code"), ds.Tables("T2").Columns("dept_code"))
ds.Relations.Add(dr)

- وأيضاً عند ربط أزار التنقل بـ Currency Manager ، لايتغير الريكورد الفرعي .




RE: بالنسبة للعلاقة بين جدولين! - boudyonline - 11-03-16

أخي الفاضل :

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

وتستطيع ترتيب الافكار وتعديلها بنفسك ...

ملحوظة : الأمر موجود في زر Query أما إذا أردت استخدامه مع أزرار التنقل فيمكنك وضع الكود المناسب في الزر الذي تستخدمه

وفقكم الله


RE: بالنسبة للعلاقة بين جدولين! - Selmez - 11-03-16

شكراً أخي boudyonline 
حليت المشكلة ، كالتالي :

- أولاً : عرفت متغيرين BindingSource

كود :
Dim detailBinding As New BindingSource()
Dim masterBinding As New BindingSource()


- ثم نقوم بربط الـ Master وَ Detail :

كود :
masterBinding.DataSource = ds ' ds is DataSet

[size=small]masterBinding.DataMember = "masterTable"[/size]

detailBinding.DataSource = masterBinding
detailBinding.DataMember = "dataRelation"


- ثم نربط الـ DataGridView :
كود :
Table2DataGridView.DataSource = detailBinding

- ثم نربط الـ Currency Manager بالـ masterBindingSource
كود :
cm = BindingContext(masterBinding)

- لتكون النتيجة كالتالي :

الـ Project في المرفقات