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

نسخة كاملة : عرض البيانات في combobox
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

لدي 3 combobox صورة1
واحدة للجامعات
والثانية للكليات
والثالثة للتخصصات
اريد المساعدة في:
ا عرض  بيانات اسماء الكليات في combobox  معينة بشرط ان تكون تابعة للجامعه المختارة في
combobox الاول

                              طريقة الاستعلام للحصول على اسماء الكليات حسب  جداول البيانات المرتبطة بينها  صورة 2
لوجود جدول وسيط بينهما .. واحتاج نفس الطريقة لتعبئة  combobox الثالثة بالتخصصات للكلية المعنية
حاولت للقيام بها في دوال معينة لعرضها ولكن لم اوفق ... Sad

ارجو المساعدة


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

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

اولا ننشئ كلاس جديد ونضع بداخله الاكواد الخاصة بتعبئة الــ ComboBoxs
PHP كود :
private SqlConnection SqlCon = new SqlConnection(@"Data Source=.;Initial Catalog=ORG_DB;Integrated Security=True");

 
       DataTable dt;


 
       public DataTable LoadUni()
 
       {
 
           SqlDataAdapter da = new SqlDataAdapter("Select * from Universty_Table"SqlCon);
 
           dt = new DataTable();
 
           da.Fill(dt);
 
           return dt;
 
       }

 
       public DataTable LoadColage(int id)
 
       {
 
           SqlDataAdapter da = new SqlDataAdapter("Select * from Collage_Table inner join Uni_Collage_Table on Collage_Table.Collage_ID=Uni_Collage_Table.Collage_ID where Uni_Collage_Table.Uni_ID=@id"SqlCon);
 
           da.SelectCommand.Parameters.AddWithValue("@id",id);
 
           dt = new DataTable();
 
           da.Fill(dt);
 
           return dt;
 
       }

 
       public DataTable LoadSpe(int id)
 
       {
 
           SqlDataAdapter da = new SqlDataAdapter("Select * from Specialization_Table inner join Uni_Collage_Table on Specialization_Table.Uni_Collage_ID=Uni_Collage_Table.Uni_Collage_ID where Uni_Collage_Table.Uni_Collage_ID=@id"SqlCon);
 
           da.SelectCommand.Parameters.AddWithValue("@id"id);
 
           dt = new DataTable();
 
           da.Fill(dt);
 
           return dt;
 
       

ثانيا طريقة استدعاء الدوال من الكلاس
كود ملئ الكمبوبوكس الخاص بالجامعات يوضع في الحدث From Load
كود ملئ الكمبوبوكس الخاص بالكليات والتخصصات يوضع في الحدث DropDown

PHP كود :
 Student_Data st = new Student_Data();

private 
void Form1_Load(object senderEventArgs e)
 
       {
 
           ComboUni.DataSource st.LoadUni();
 
           ComboUni.DisplayMember "Uni_Name";
 
           ComboUni.ValueMember "Uni_ID";
 
       }

 
       private void ComboUni_DropDown(object senderEventArgs e)
 
       {
 
           ComboColg.DataSource null;
 
           ComboColg.DataSource st.LoadColage(Convert.ToInt32(ComboUni.SelectedValue.ToString()));
 
           ComboColg.DisplayMember "Collage_Name";
 
           ComboColg.ValueMember "Collage_ID";

 
       }

 
       private void ComboColg_DropDown(object senderEventArgs e)
 
       {
 
           ComboSp.DataSource null;
 
           ComboSp.DataSource st.LoadSpe(Convert.ToInt32(ComboColg.SelectedValue.ToString()));
 
           ComboSp.DisplayMember "Specialization_Name";
 
           ComboSp.ValueMember "Uni_Collage_ID";

 
       
جزاك الله خيرا استاذ Adrees
وجعله الله في ميزان حسناتك واثابك عليه بخير الجزاء
تم بحمد الله التنفيذ
استاذ في فترة التنفيذ
ان الكود اللي داخل حدث drop down لا يتنفذمباشرة عند اختيار الاسم داخل combobox بعد اخيار اسم اخر
ولكن الا بعد الضغط عليها مرة اخرى بعد اختياره

الان عدلت في حدث الكود .. اضفته للحدثdropdwonclosed بدلا منdrop down وتنفذ مع كل اختيار لان مع كل اختيار يغلق الكموبكس
سؤال _ سالت هنا لانه نفس الفورم  او اسوي موضوع جديد
في نفس الفورم _

عملية الاضافة للكلية الجديدة في جدول الكليات  اريد بعدها اضافة تتم للجدول الوسيط
كيف اسوي هالعملية

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

 int u = Convert.ToInt32(cmbox_Uni_Name.SelectedValue.ToString());
                    
                    db_operations.get_obj().editdb("INSERT INTO Collage_Table (Collage_Name)VALUES        ('"+cmbox_Collage_Name.Text+"')");
                  
                    int c = Convert.ToInt32(cmbox_Collage_Name.SelectedValue.ToString());
                   db_operations.get_obj().editdb("INSERT INTO Uni_Collage_Table (Uni_Collage_Table.Uni_ID,Uni_Collage_Table.Collage_ID ) VALUES        ('" + u + "','" + c + "')");
                    MessageBox.Show("تمت عملية الاضافة للكلية ");
                      DG_Collage_Veiw();

هذا فورم نفس الاول ولكن
الاضافة الان فيها مشكلة لانه للجدولين
الاول فيه كلاس لبعض الكمبوبكس