18-10-12, 01:12 AM
السلام عليكم و رحمة الله و بركاته..
أتمنى من الأخوة الكرام ، تقديم المساعدة في المشكلة التي واجهتني في البرنامج الذي أعمل عليه ، حيث و قد تعلق العمل عليه بسبب هذه المشكلة ، و التي حاولت أن أجد لها حلاً، لكني لم أجد حتى هذه اللحظة..المشكلة تكمن في العلاقة بين الجداول و هي كالآتي:
لدي جدولان هما (CostumerData) و (CounterData) تم إحضارهما إلى (DataSet) ، الجدول الـ Main (الأب) هو (CostumerData) و الجدول (CounterData) هو الـ Details (الأبن) و قد أنشئت بينهما علاقة حسب الشيفرة التالي:
و قد تم وضع كلا جدول على حده في (Panel) خاصة به ، و تم ربط حقولهما بـ (TextBoxes) لكل حقل على الـ (Panel)، بحيث يمكنني تعبئة حقول الجدول الأب أولاً ، و قد قمت باستخلاص كائن (CurrencyManager) لإدارة هذا الجدول كما في الشيفرة التالية:-
حيث أن (BindControl) هو اجراء لتنفيذ عدة مهام ، و قد كررت نفس العملية مع الجدول الأبن ، مع إضافة اثنين (TextBoxes) ـ على الـ (Panel) الخاص بالجدول الأبن ـ تم ربطهما بحقلي الرقم و الاسم في الجدول الأب..بحيث أنه عندما يتم التنقل بين السجلات في الجدول الأب ، يتم فرز السجلات الأبناء الخاصة بسجل جدول الأب فقط مع امكانية الإضافة و التعديل و الحذف للسجلات الأبناء ، لكن هذا لم يحدث ، حيث أن كلاهما يتنقل بين السجلات الخاصة به باستقلالية تامة عن الآخر، فعند الذهاب إلى السجل التالي في الجدول الأب..لا تتأثر السجلات في الجدول الأبن ، مع العلم أني استخدم فقط (TextBoxes) و لم استخدم (DataGridView) لعرض السجلات في الجدول الأبن ، أيضاَ كلا الجدولين الأب و الأبن لهما كائنين (CurrencyManager) خاص بهما و ربط حقول الجدولين بالـ(TextBoxes) صحيح 100%... فهل يمكن إيجاد علاقة بين كائني (CurrencyManager) الخاص بالجدولين من أجل تحقيق التأثير بين الجدولين؟ أو ايجاد الطرقة المثلى لحل هذه المشكلة .. جزاكم الله ألف خير
أتمنى من الأخوة الكرام ، تقديم المساعدة في المشكلة التي واجهتني في البرنامج الذي أعمل عليه ، حيث و قد تعلق العمل عليه بسبب هذه المشكلة ، و التي حاولت أن أجد لها حلاً، لكني لم أجد حتى هذه اللحظة..المشكلة تكمن في العلاقة بين الجداول و هي كالآتي:
لدي جدولان هما (CostumerData) و (CounterData) تم إحضارهما إلى (DataSet) ، الجدول الـ Main (الأب) هو (CostumerData) و الجدول (CounterData) هو الـ Details (الأبن) و قد أنشئت بينهما علاقة حسب الشيفرة التالي:
كود :
[align=left]With ggRdNtDataSet
.Relations.Add("R1", .Tables("CostumerData").Columns(0), _
.Tables("CounterData").Columns(0), True)
End With[/align]
كود :
[align=left]BindControl("Text", "CostumerData.CstmrNo", txtCstmrNo)
BindControl("Text", "CostumerData.CstmrNm", txtCstmrNm)
BindControl("Text", "CostumerData.CstmrHPhon", txtCstmrHphon)
BindControl("Text", "CostumerData.CstmrMblPhon1", txtCstmrMblPhon1)
BindControl("Text", "CostumerData.CstmrMblPhon2", txtCstmrMblPhon2)
BindControl("Checked", "CostumerData.IsInBlckLst", chkBlackList)
gcmCostumerData = pnlNewCstmr.BindingContext(ggRdNtDataSet, "CostumerData") : gcmCostumerData.Refresh()[/align]