تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل كلاس لتعبئه كمبو بوكس داخل الداتا فيو
#12
(10-07-19, 08:26 PM)amonem كتب :
(10-07-19, 07:23 PM)Eng.Ahmed Amen كتب : اتفضل , انا غيرت بس ال DataTable علشان اجربه عندي.
هتعمل تمرير لاي Combo ف ال Grid 
ب الشكل ده 
PHP كود :
(DataGridViewComboBoxCell)dataGridView1.Rows[0].Cells[0



PHP كود :
  DB.FillComBobx((DataGridViewComboBoxCell)dataGridView1.Rows[0].Cells[0], "select ID,Char_Name from TabTest""ID""Char_Name"); 

PHP كود :
       // ------------------[تعبئة كمبو بوكس]-------------------
 
       public static void FillComBobx(DataGridViewComboBoxCell Cmdstring Sqlstring displayColstring valueCol)
 
       {
 
           SqlDataAdapter Da = new SqlDataAdapter(SqlCon);
 
           DataSet Ds = new DataSet();
 
           Da.Fill(Ds);
 
          
            Cmd
.DataSource Ds.Tables[0];
 
           Cmd.DisplayMember displayCol;
 
           Cmd.ValueMember valueCol;
 
    
        


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

(10-07-19, 07:06 PM)asemshahen5 كتب : هذا الكود بعد التعديل :

PHP كود :
/// <summary>
 
       /// تعبئة الغريد فيو و الكمبو بوكس اللي في الغريد فيو
 
       /// </summary>
 
       /// <param name="dgv">اسم الداتاغريد فيو على الفورم</param>
 
       /// <param name="Sql">الاستعلام المستخدم</param>
 
       /// <param name="displayCol">اسم العامود الموجود بالجدول بقاعدة البيانات</param>
 
       /// <param name="ColInt">ترتيب العامود بالداتا غريد فيو</param>
 
       public static void FillDGVComBobx(DataGridView dgvstring Sqlstring displayCol,int ColInt)
 
       {
 
           SqlDataAdapter sda1 = new SqlDataAdapter(SqlCon);
 
           DataTable dt1 = new DataTable();
 
           sda1.Fill(dt1);
 
           ArrayList StringList = new ArrayList();
 
           foreach (DataRow item in dt1.Rows)
 
           {
 
               StringList.Add(item[displayCol].ToString());
 
           }
 
           int n 0;
 
           int y dt1.Columns.Count 1;
 
           foreach (DataRow item in dt1.Rows)
 
           {
 
               n=dgv.Rows.Add();
 
               foreach (DataColumn itemCol in dt1.Columns)
 
               {
 
                   DataGridViewComboBoxCell CellSample = new DataGridViewComboBoxCell();
 
                   CellSample.DataSource StringList;
 
                   if (itemCol.Ordinal == ColInt)
 
                   {
 
                       dgv.Rows[n].Cells[itemCol.Ordinal] = CellSample;//Name,EmployeeID
 
                   }
 
                   else
                    
{
 
                       dgv.Rows[n].Cells[itemCol.Ordinal].Value item[itemCol.ColumnName].ToString();
 
                   }
 
               }
 
               dgv.Rows[n].Cells[0].Value StringList[n].ToString();
 
           }
 
       


و هذا كود استدعائه :

PHP كود :
private void Form1_Load(object senderEventArgs e)
 
       {
 
           DB.FillDGVComBobx(dataGridView1"select Office,Name,EmployeeID from Employee""Office",0);
 
       

بالرغم ان الكود طويل لكن النتيجه 100%
شكرا ليك استاذي الغالى

غير فقط الVoid الي داخل ال Class
و ال Call Void 
من الفورم ,  قفط لااكثر, والكود يعمل , اذا كان لا يعمل معك  , شيك علي الاتصال بقاعده البيانات والاعمده المراد اظهارها
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: عمل كلاس لتعبئه كمبو بوكس داخل الداتا فيو - بواسطة Eng.Ahmed Amen - 10-07-19, 09:21 PM


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


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