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

سؤال فى combobox ؟

مغلق
بدأه الأهوانى في 12 مارس 2005 · 4 رد · 1,931 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

إخوانى الكرام جزاكم الله خيراً على مجهودكم فى هذا المنتدى .

لى سؤال خاص باداة ال combo box وهذه مشكلة وقفت أمامى، فلو سمحت ممكن حد يفيدنى ؟

انا عملت جدولين :

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

جدول الطلبة : وبه

رقم الطالب - اسم الطالب الجنسية - النوع

جدول الجنسية : وبه

رقم الجنسية - اسم الجنسية

وعملت علاقة بين رقم الجنسية و حقل الجنسية الموجود فى جدول الطلبة . ( تحتهم خط )

والحمد لله قمت بعمل الفورم للإدخال البيانات داخل قاعد البيانات لكن وقفت معى مشكلة :

وهو السؤال : أريد عمل combo box يظهر لى البيانات الموجودة داخل حقل ( اسم الجنسية) الموجود فى ( جدول الجنسية )

وعند اختيار الجنسية يقوم بحفظ القيمة فى حقل ( الجنسية) الموجود فى (جدول الطلبة)

مثال : حتى تفهموا ما أقصد

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

يعنى مثلاً انا أضفت بياانت فى جدول الجنسية وهى

مصرى - سعودى - تركى

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

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

جزاكم الله خيراً، انا عرفت فقط كيف أعرض الجنسيات فى الكومبو لكن ما عرفت أحفظ القيمة فى الجدول الطلبة فى الجنسية .

وذلك بالضغط على خاصية data source واختيار ال dataset

وأيضاً خاصية display member وأختيار الحقل المراد إظهار بياناته .

أظن صعب يضع كلمة سعودى لأن هذا الحقل رقم مربوط برقم الجنسية، يعنى لازم يضع رقم ولا يضع نص ؟ صح

طيب لو انا عايز أجعله يضع نص كيف أسوى ؟ هل اعمل العلاقة بين اسم الجنسية و الجنسية وأجعله نص ؟

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

سؤال آخر معذرة :

أريد عمل أيضاً combo box تظهر لى ذكر او انثى وعند أختيار ذكر او انثى يقوم البرنامج بحفظ كلمة ذكر او أنثى فى حقل النوع الموجود فى جدول الطلبة .

لكن هذه المرة انا لم اعمل جدول به النوع مثل الجنسيات .

يعنى اكيد راح أكتب كود فيه هذه الخاصيتان .

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

جزاكم الله خيراً

ومعذرة على الإطالة .

تم تعديل هذه المشاركة بواسطة الأهوانى في 12 مارس 2005 في 19:16

#2

السلام عليكم

إن شاء الله فالك طيب

تعرف أن هذا النوع من الربط ( اي ربط الـ combo box بقاعدة البيانات) يسمى simple binding

على العموم شايف القيم في الـ combo box مثل مصرى - سعودى - تركى

هذه القيمة تسمى items طيب (شو السالفه) (*&*) واحد فيلسوف

كل الذي نحتاجه أن نستخدم خاصية تسمى SelectedItem بهذا الشكل

أكتب هذا الكود مثلاً عند تحميل النموذج Form Load

 CBox.DataBindings.Add( _
              New Binding("SelectedItem", DataSet, "MyTable.Nationality"))

ليش استخدمنا SelectedItem لاننا نريد الـ items مصري سعودي الموجودة بهذا الـ combo box

معنى الكود كالتالي

نضيف ربط الـ combo box بالجدول المسمى MyTable وفي العامود column الجنسية

بحيث كلما أختار الـ user القيمة من الـ combo box يتم حفظها أو تحديثها في العامود Nationality في الجدول الرئيسي

كذلك يتم عرض البيانات عند استعراضها من العامود نفسه Nationality

و إذا فيه اي غموض سل إن شاء الله ونحن في الخدمة

السلام عليكم

في المثال يتضح المقال

#3

جزاك الله خيراً اخى وتقبل الله منك

لكن انا نفذت ما قلت بالظبط وما حصل شىء بالكومبو!!!

انا قمت أولاً بعمل الكومبو ووضعه على الفورم ثم بعد ذلك قمت بإضافة الكود فى form load

وهذا هو الكود الذى كتبته

CBox.DataBindings.Add( New Binding("SelectedItem", test, "student.Nationality"))

فقمت بوضع اسم الداتا سيت وهو test ووضع جدول student وهو الطلبة وحقل Nationality الذى هو الجنسية .

حيث القيم ستضاف فى الجنسية .

فلم يتم أصلاً عرض اى بيانات ولا تخزينها بالتالى .

هذا اولاً

ثانياً اخى انا أريد عرض البيانات اولاً الموجودة بحقل اسم الجنسية الموجود بالجدول الجنسيات .

ثالثاً عندما يقوم المستخدم بعرض الجنسيات من الكومبو ويختار جنية معينة ( القيمة يعنى ) يقوم بتخزين اسم الجنسية فى حقل الجنسية الموجود بالطلبة .

اتمنى بان تكون فهمتنى .

أنا عرفت كيف أقوم بعرض البيانات من الحقل ولكن لم استطيع تخزين القيمة فى الجدول الآخر

وطريقة عرض البيانات هى

نذهب إلى خاصية data source ونختار الجدول الذى به الحقل المطلوب . ( وفى حالتنا هذه جدول الجنسيات )

ثم نذهب إلى DISPLAY MEMBER ونختار الحقل المطلوب إظهار بياناته . ( وفى حالتنا هذه حقل اسم الجنسية )

فيتم عرض بيانات هذا الحقل .

ملحوظة :

لقد قمت بعمل طريقة عرض البيانات التى ذكرتها انا .

ثم قمت بوضع الكود الذى قلته لى وقمت بوضع الجدول الآخر المراد تخزين البيانات به .

ومع ذلك تم عرض البيانات بشكل ناجح لأن طريقى نجحت . اما تخزين البيانات لم تنجح للأسف.

جزاك الله خيراً أخى

ومشكور كتيير على جهدك .

واتمنى فى الرد القادم تقول لى الخطوات التى اتبعها خطوة خطوة .

يعنى هل أقوم بوضع الكود فقط أم أضع الخصائص التى ذكرتها انا .

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

بريدى

AL_AHWANY@HOTMAIL.COM

#4

السلام عليكم

حياك الله أخي الطيب بالنسبة للجدول المساعد مثل الجنسيات يفضل أن يتم تعبئته عن طريق الـ DataReader

أولاً كوننا لا نريد أن نحدث في بياناته و إنما نستخدم تلك البيانات

ثانياً الـ DataReader أسرع من الـ DataAdapter كونه للقراءة فقط ReadOnly

أرفق لك مثال يقوم بإنشاء إتصال عن طريق الـ DataReader ويجلب البيانات من الـ DataBase ويضعها في

الـ ComboBox ثم نربط الـ ComboBox بالجدول الرئيسي عن طريق الـ SelectedItem

أخي صدقني تسعدني معرفتك لكن صدقني لا أملك ماسنجر

أي إستفسار أنا في الخدمة

السلام عليكم

SimpleBindingComboBox.zip

في المثال يتضح المقال

#5

وعليكم السلام ورحمة الله

جزاك الله خيراً اخى

لقد قمت بتحميل الملف المرفق ورأيت ما فعلته ، جزاك الله خيراً عنى وعن كل من يتعلم من الدرس

وخسارة لا تملك ماسينجر . سأحاول تطبيقها على المشروع وربنا يسرها .

ربنا يبارك فيك .

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

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