تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل كلاس لتعبئه كمبو بوكس داخل الداتا فيو
#31
و هذا كود شبيه بما تريد .

الكود الاول يعبئ الكومبو بوكس الموجود بالداتا جريد فيو من جدول مختلف عن جدول الداتا غريد فيو :

PHP كود :
       /// <summary>
 
       /// تعبئة و الكمبو بوكس اللي في الغريد فيو من جدول غير الجدول المرتبط بالداتا غريد
 
       /// </summary>
 
       /// <param name="combo">(DataGridViewComboBoxColumn)dataGridView1.Columns[0]</param>
 
       /// <param name="SqlString">الاستعلام المستخدم</param>
 
       /// <param name="ColName">اسم العامود من الاستعلام</param>
 
       /// <param name="DataPropertyName">اسم العامود بجدول الرئيسي المعبأ منه الداتا جريد</param>
 
       public static void FillDgvComboBoxXT(DataGridViewComboBoxColumn combostring SqlStringstring ColNamestring DataPropertyName)
 
         // تعريف داتا تابيل جديد
 
           DataTable dt = new DataTable();
 
           // تعبئة الداتا تيبل من فانكشن FillDataTable
 
           dt FillDataTable(SqlString); // "select DISTINCT Name,ID from FillComboBoxTB"
 
           // تعريف اسم العامود في الداتا جريد
 
           combo.HeaderText ColName// "FillComboBoxTB.Name"
 
           // تعريف الاسم البرمجي الخاص بالعامود
 
           combo.Name "combo";
 
           combo.DataSource dt;
 
           // تعريف DataPropertyName الخاصة باسم العامود بجدول الرئيسي المعبأ منه الداتا جريد
 
           combo.DataPropertyName DataPropertyName// "EmployeeXT.NameXT";
 
           // تعريف DisplayMember الخاصة باسم العامود بجدول المراد تعبئة الكومبو بوكس منه
 
           combo.DisplayMember ColName// "FillComboBoxTB.Name"
 
       

طريقة استخدامه :

PHP كود :
           //EmployeeXT تعبئة الجدول الكامل من جدول  في قاعدة البيانات
 
           dataGridView1.DataSource FillDgvComboBoxCls.FillDataTable("select * from EmployeeXT");
 
         
            
//FillComboBoxTB تعبئة الكومبو بوكس داخل الداتا غريد من الاستعلام من جدول  في قاعدة البيانات
 
           FillDgvComboBoxCls.FillDgvComboBoxXT((DataGridViewComboBoxColumn)dataGridView1.Columns[0], "select DISTINCT Name,ID from FillComboBoxTB""Name""NameXT");
 
           // DISTINC تمنع تكرار الاسماء عن طريق الاستعلام  select DISTINCT Name,ID from FillComboBoxTB 

الكود الثاني يعبئ الكومبو بوكس من نفس الجدول المعبئ منه الداتا غريد فيو :

PHP كود :
       /// <summary>
 
       /// تعبئة و الكمبو بوكس اللي في الغريد فيو من جدول غير الجدول المرتبط بالداتا غريد
 
       /// </summary>
 
       /// <param name="combo">(DataGridViewComboBoxColumn)dataGridView1.Columns[0]</param>
 
       /// <param name="SqlString">الاستعلام المستخدم</param>
 
       /// <param name="ColName">اسم العامود من الاستعلام</param>
 
       /// <param name="DataPropertyName">اسم العامود بجدول الرئيسي المعبأ منه الداتا جريد</param>
 
       public static void FillDgvComboBoxXTX(DataGridViewComboBoxColumn combostring SqlStringstring ColName)
 
         // تعريف داتا تابيل جديد
 
           DataTable dt = new DataTable();
 
           // تعبئة الداتا تيبل من فانكشن FillDataTable
 
           dt FillDataTable(SqlString); // "select DISTINCT NameXT,ID from EmployeeXT"
 
           // تعريف اسم العامود في الداتا جريد
 
           combo.HeaderText ColName// "EmployeeXT.NameXT"
 
           // تعريف الاسم البرمجي الخاص بالعامود
 
           combo.Name "combo";
 
           combo.DataSource dt;
 
           // تعريف DataPropertyName الخاصة باسم العامود بجدول الرئيسي المعبأ منه الداتا جريد
 
           combo.DataPropertyName ColName// "EmployeeXT.NameXT";
 
           // تعريف DisplayMember الخاصة باسم العامود بجدول المراد تعبئة الكومبو بوكس منه
 
           combo.DisplayMember ColName// "EmployeeXT.NameXT"
 
       

طريقة استخدامه :

PHP كود :
           //EmployeeXT تعبئة الجدول الكامل من جدول  في قاعدة البيانات
 
           dataGridView2.DataSource FillDgvComboBoxCls.FillDataTable("select * from EmployeeXT");

 
           //EmployeeXT تعبئة الكومبو بوكس داخل الداتا غريد من نفس الجدول
 
           FillDgvComboBoxCls.FillDgvComboBoxXTX((DataGridViewComboBoxColumn)dataGridView2.Columns[0], "select DISTINCT NameXT,ID from EmployeeXT""NameXT"); 
يوجد مثال بالمرفقات :


الملفات المرفقة
.zip   FillComboBoxInDgv.zip (الحجم : 54.87 ك ب / التحميلات : 38)
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو , amonem



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم