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

الداتا كرد والكومبو بوكس

بدأه الناشي2008 في 12 سبتمبر 2010 · 6 رد · 832 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي داتا كرد مرتبطة بقاعدة بيانات وفيها خمسة اعمدة

الاول=رقم الطالب

الثاني=اسم الطالب

الثالث=المرحلة الدراسية مثلا الاولى الثانية الثالثة

الرابع=الشعبة مثلا A,B,C,D وهكذا لكل مرحلة اكثر من شعبة

الخامس=المجموعة مثلا A1,A2,A3 B1,B2,B3 C1,C 2,C3 حيث لكل شعبة اكثر من مجموعة

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

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

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

ارجو المساعدة ولكم كل الشكر والامتنان

#2

اهلا بك اخي .. وكل عام وانت بخير ..

الموضوع سهل فقط توكل على الله وركز معي ..

الصور التالية ستوضح لك كل شئ ..

اولا بعد ان قمت بربط قاعدة البيانات والحدول المخصص بالمشروع .. ضع اداة DataGride على الفورم .. وشاهد التالي ..

(( انا افترضت ان النافذة كما يلي )) ..

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

post-53367-061283900 1284385335_thumb.pn

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

post-53367-025749900 1284385347_thumb.pn

في هذه الخاصية .. تستطيع ان تغير نوع العرض للعمود الى ComboBox .. كما يلي ..

post-53367-005073500 1284385358_thumb.pn

بعد ان قمت بتغيير النوع .. شاهد ايقونة المرحلة الدراسية تغيرة الى ايقونة الCombo .. والان تحتاج الى ادخال الاختيارات وهي السنوات .. ابحث عن الخاصية Items واضغط على الزر الخاص بها .. كما في الصورة ..

post-53367-048121900 1284385411_thumb.pn

والان ستظهر لك نافذة الاختيارات ..اكتب بها المراحل الاربعة

post-53367-075379200 1284385424_thumb.pn

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

post-53367-046260500 1284385440_thumb.pn

ولغرض تغيير شكل الCombo ليتوالم اكثر مع الشبكة .. لديك الخاصية Flat ..

post-53367-093636400 1284385823_thumb.pn

غير الخاصية الى ما يخدمك مع المشروع ..

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

اتمنى ان اكون قد افدتك .. واي شئ انا حاضر ..

تحياتي العطرة ..

المرفقات
222.png333.png444.png555.png666.png777.png888.png

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#3

الاخ الفاضل سنان محمد صالح المحترم

كل عام وانت بالف خير جزاك الله كل الخير على الرد وسرعة الاجابة

اخي العزيز اني اقوم بملأ الكوميوبوكس من جدول موجود في قاعدة البيانات وليس عن طريق Items فمثلا عتد الضغط على الكومبو الخاص بالمرحلة الدراسية فانه يجلب لي البيانات من جدول المراحل الدراسية وحسب ما موجود في الجدولوقد تكون مرحلتين او اكثر وانا اعرف طريقة الريط بالكومبو بوكس وكذلك الطريقة التي تفضلت بشرحها مشكورا

ولكن الذي اريده مثلا عندما اختار المرحلة الدراسية الثانيةمن الكومبو الاول تظهر في الكومبو بوكس الثاني البيانات التي تخص المرحلة الثانية فقط فمثلا اذا كان جدول الشعب يحتوي على الشعب A ,B ,C للمرحلة الاولى والشعب A ,B للمرحلة الثانية فسوف تظهر A, B فقط وهكذا لباقي البيانات

#4

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

بالطبع أنت تملأ الداتا جريد من خلال datasourse، لذا عليك بالآتي :

1-قم بنفس خطوات الأخ محمد سنان ما عدا خطوة إضافة items.

2- أنت الآن تريد أن تملأ كومبو المرحلة،لذا إستخدم الكود التالي تحت الحدث form_load:

   	// بفرض أن كومبو المرحلة إسمه combo_marhala    
        	combo_marhla.Items.Clear()
       	dim com as new SqlCommand("select id,marhala_name from marhala_table", con)
        	com.CommandType =CommandType.Text
       	dim combo_adapter as new SqlDataAdapter(com)
        	dim combo_ds as new DataSet("my_dataset")
       	dim combo_dt as new DataTable("marhala_table")
        	combo_ds.Tables.Add(combo_dt)
        	dim bind as new BindingSource(combo_ds, combo_ds.Tables[0].TableName)
        	combo_adapter.Fill(combo_dt)
   		combo_marhala.DataSource = bind
        	combo_marhala.DisplayMember = combo_ds.Tables(0).Columns(1).ColumnName
        	combo_marhala.ValueMember = combo_ds.Tables(0).Columns(0).ColumnName

3- لملئ كومبو الشعبة على أساس المرحلة نذهب للحدث datagrid_cellendedit :

if e.ColumnIndex=combo_marhala.Inex
Then
  // بفرض أن كومبو الشعبة إسمه combo_shooba    
   		combo_shooba.Items.Clear()
        	dim com as new SqlCommand("select id,shooba_name from shooba_table where marhala_id='+(int)Datagrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value+'", con)
        	com.CommandType =CommandType.Text
       	dim combo_adapter as new SqlDataAdapter(com)
        	dim combo_ds as new DataSet("my_dataset")
       	dim combo_dt as new DataTable("shooba_table")
        	combo_ds.Tables.Add(combo_dt)
       	dim bind as new BindingSource(combo_ds, combo_ds.Tables(0).TableName)
        	combo_adapter.Fill(combo_dt)
      	combo_shooba.DataSource = bind
   		combo_shooba.DisplayMember = combo_ds.Tables(0).Columns(1).ColumnName
        	combo_shooba.ValueMember = combo_ds.Tables(0).Columns(0).ColumnName
EndIF

ستجد أن كومبو الشعبة فد تم ملئه على أساس id المرحلة التي إخترتها

تم تعديل هذه المشاركة بواسطة بهاء صلاح الدين فراج في 14 سبتمبر 2010 في 18:27

#5

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

الاخ العزيز بهاء

لك مني الف تحيةوسلام

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

وقد حملت البرنامج بالمرفقات ارجو منك اجراء اللازم وتحديد السبب

وتقبل فائق شكري وتقديري

WindowsApplication1.rar

#6
الناشي2008 كتب:

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

الاخ العزيز بهاء

لك مني الف تحيةوسلام

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

وقد حملت البرنامج بالمرفقات ارجو منك اجراء اللازم وتحديد السبب

وتقبل فائق شكري وتقديري

الاخوة الاعزاء في المنتدى وخصوصا الاخ بهاء المحترم

انا في انتظار الرد

#7

AM

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

الاخ العزيز بهاء

لك مني الف تحيةوسلام

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

وقد حملت البرنامج بالمرفقات ارجو منك اجراء اللازم وتحديد السبب

وتقبل فائق شكري وتقديري

ملف مرفق(ملفات)

* ملف مرفق WindowsApplication1.rar (370.95كيلو )

عدد مرات التحميل : 11

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