منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : بالنسبة للعلاقة بين جدولين!
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ،،
صباح/مساء الخير


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

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

وشكراً
اخي الفاضل :

جرب المثال في المرفقات بعد التعديل
(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 ، لايتغير الريكورد الفرعي .

أخي الفاضل :

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

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

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

وفقكم الله
شكراً أخي 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 في المرفقات