الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل combobox ياخذ بياناته من الدتابيز

مغلق
بدأه مبرمج سي شارب في 9 أغسطس 2007 · 3 رد · 1,209 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .......

اخواتي الاعزاء اريد ان اعمل combobox يقوم بعرض بيانات يتم جلبها من جدول معين ويخذن بداخل الحقل رقم البيانات على سبيل المثال اريد ان اعمل combobx لعرض نوع السي داخل جدول الزبون حيث يوجد علاقة بينهما ويوجد الحقل الاجنبي داخل جدول الزبون وهو رقم النوع اريد هذا الحقل ان يكون combobox يعرض اسماء الانواع ويخزن رقم النوع وعندما يتم فتح البرنامج يتم عرض اسم النوع اي القيمة المختارة . فكيف يتم ذلك؟؟؟؟ وكتر الله الف خيركم .

علما اني استخدم فيجوال 2005

أكبر موقع عربي لتعليم السي شارب

موسوعة السي شارب

http://www.csharp1.com

#2

السلام عليكم ...

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

أخي الكريم هذا النوع من الربط يسمى ب Complex Binding الربط المعقد ... لا تحزن ان الله معنا ...

على سبيل المثال لديك جدول موظفين وبه الحقول التالية

الاسم

العنوان

تاريخ الميلاد

الجنسية

الجامعة

القسم

وهكذا حقول

الان عندنا حقل القسم ويوجد داخل المنشئة(الشركة او المؤسسة) كذا قسم منها الادارة ومنها المالية ومنها شئوون الموظفين وهلما من هيك اسماء

والعلاقة هنا من one to money اي القسم به اكثر من موظف ...

فهنا علينا أنشاء جدول اسمه Department يوجد به الاقسام داخل المؤسسة - طبعا علينا ان نسمح له بالاضافة في المستقبل ان لم يوجد هذا القسم داخل الجدول ... خلينا نعود لشغلنا

الان يوجد عندنا جدولين الاول الموظفين والاخر الاقسام والعلاقة one to money ماشي الحال يا سيدي الكريم

جدول الموظفين الاعمدة التي به هي التي فوق بأستثناء عمود القسم فهنا علينا أن نجعله يكون مفتاح من نوع forigen key وجدول الاقسام يكون كالتالي

الرقم DepId

القسم Department

نأتي للربط الان

 Sub LoadDepartment()
		With Me.CmbBxDepartment
			.DataSource = Me.DepartmentBindingSource
			.DisplayMember = "Department"
			.ValueMember = "depId"
			.DataBindings.Add(New Binding("SelectedValue", EmployeesBindingSource, "depId", True))
		End With
	End Sub

واذا أردت أن تعرض البيانات داخل DataGridView في أحد الاعمدة عليك بالتالي

 With ClmDepartment
			.DataPropertyName = "DepID"
			.DataSource = Me.DepartmentBindingSource
			.DisplayMember = "Department"
			.ValueMember = "DepID"
			.Name = "ClmDepartment"
			.HeaderText = "المنشئة/القسم "
			.Width = 200
			.SortMode = DataGridViewColumnSortMode.Programmatic
		End With

حيث أن ClmDepartment هو اسم العمود داخل DataGridView وهو من نوع DataGridViewComboBoxColumn

يعني يكون كالتالي

Private ClmDepartment As New DataGridViewComboBoxColumn

والسلام خير ختام

تم تعديل هذه المشاركة بواسطة فلسطيننا في 9 أغسطس 2007 في 14:25

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#3

اخي شكرا على ردك وعلى شرحك الممتاذ والظاهر انك فاهم ما اريد وهذا اكثر حاجة اسعدني ولكن عندي بعض الاسئلة يمكن ان تكون بايخة بس

هذا الكود لماذا تم وضعة

.DataBindings.Add(New Binding("SelectedValue", EmployeesBindingSource, "depId", True))

وايضا اذا منت بتعرف تشتغل سي شارب فالرجاء كتابة الكود بالسي شارب ام اذا كنت لا تعرف فقم بارفاق برنامج كمثال .

وجزالك الله كل خير

أكبر موقع عربي لتعليم السي شارب

موسوعة السي شارب

http://www.csharp1.com

#4

السلام عليكم.....

توضيح الفكرة : اخي انا عندي جدولين مربوطين بعلاقة ون تو مني لنفرض انه جدول الدوال وجدول الموظف الان يوجد بجدول الموظف الفتاح الرئيسي للدول وهو رقم الدولة اي ياخذ ارقام .

المطلوب : اريد ان اجعل الفرن كي تاع الدوال الذي هو رقم الدوال الى كمبوبوكس يعرض اسم الدولة ويخذن رقمها وعند الاستعلام يظهر اسم الدولة التي اختارها .

المشكلة : انا استخدمت متل ما انت شارح ولكن اعطيك الخاصية التي تخذن رقم الدولة والخاصية التي تعرض اسم الدولة ولكن عندما اشغل البرنامج واختار اسم الدولة فيظهر لي خطا الفورمات فوقفت خاصية الفورمات فهندما احفظ يحفظ ولكن عند الاستعلام يظهر لي الرقم الذي احفظة ولا يظهر اسم الدولة .

الرجاء من سيادتك ان تحل لي هذه القضية لانها بصراحة انا وقفت مشروع كامل بسببها وإن شاء الله تكون الفكرة واضحة .

وفقك الله

أكبر موقع عربي لتعليم السي شارب

موسوعة السي شارب

http://www.csharp1.com

هذا الموضوع مغلق.

مواضيع مشابهة