السلام عليكم
لدي قاعدة بيانات محلية متكونة من جدولين (Companies, Employees)، ويربط بينهما مفتاح رئيس في جدول الشركات، وأجنبي في جدول الموظفين هو (CompanyID)، فكل شركة مثلاً بها عشرات أو مئات الموظفين..
ولدي قاعدة بيانات أخرى موضوعة على سيرفر بها نفس الجداول وهي عبارة في تصميمها عن نسخة من قاعدة البيانات المحلية، لكنها تحتوي معلومات أكبر بكثير..
فقمت بعمل برنامج يقوم بجلب معلومات عن بعض الموظفين وشركاتهم من قاعدة البيانات الكبيرة التي على السيرفر لقاعدة البيانات المحلية، وكان هذا البرنامج به DataSet و اثنين DataBindingSource واحدة خاصة بجدول الشركات، والأخرى خاصة بجدول الموظفين، وفي هذا البرنامج ايضا أيضاً DataGridView قمت بربطه بـ EmployeesDataBindingSource، فهو يظهر لي معلومات الموظف بالإضافة إلى CompanyID، وبدلاً من إظهار كود الشركة قمت بعمل بعض التعديلات على الداتا جريد فيو ليقوم بعرض اسم الشركة بدلاً من كود الشركة.
قمت أيضاً بوضع مربعات نص مربوطة أيضاً بالـ EmployeesDataBindingSource، فعندما تختار اي سطر في الداتا جريد فيو، تظهر كامل معلومات ذلك السطر في مربعات النص..
إلى هنا لا توجد أي مشكلة...
ولكن عندما أجلب معلومات شخص معين من قاعدة البيانات على السيرفر، وأقوم بتعيين قيم كل Cell في هذا السطر إلى (مربعات النص على حده!!) تتم إضافة هذا السطر إلى EmployeesDataBindingSource بشكل طبيعي وسلس جداً ثم أقوم بحفظ التعديلات إلى الداتا ست.
لكن يظهر لي خطأ واحد في الداتا جريد وليس في مربعات النص، وهو أن الداتا جريد لا يتقبل الإضافة إلى الخلية التي تظهر اسم الشركة بدلاً من كودها ؟؟
فهل هناك طريقة لتفادي هذا الخطأ ؟؟ ( أنظر الصورة المرفقة ).
- - - - -
ومشكلة أخرى، في داتا جريد آخر، عندما أجلب سطر البيانات من قاعدة البيانات الكبيرة في السيرفر إلى قاعدة البيانات المحلية (بطريقة يدوية دون استخدام داتا سيت) كيف يمكنني تحديث الداتا جريد ليقوم بتحميل المعلومات مرة أخرى من قاعدة البيانات التي ربطه بها ؟؟
- - - -
وشكراً..