تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل كلاس لتعبئه كمبو بوكس داخل الداتا فيو
#25
(12-07-19, 02:16 PM)asemshahen5 كتب : تعبئة الداتا غريد متلها متل اي تعبئة وضعه المعين كيف تسمية عناوين الجدول اسهل حاجة :

PHP كود :
dataGridView1.Columns[0].HeaderText "Test"

أو عن طريق الاستعلام :

PHP كود :
SELECT [S_N] as 'S.N',[NAME_OF_CONTRACTOR] as 'Name Of Contractor',[CONTRACTOR_WORKS] as 'Contractor Works',[PORJECT_NAME] as 'Project Name',[PROJECT_NUMBER] as 'Project Number',[TOTAL_OF_WORKS] as 'Total Of Works' FROM [dbo].[CONTRACTORS

المهم تفضل هذا الكود الذي طلبته اي تعبئة الكومبو بوكس دون المساس بالجدول :

PHP كود :
       // FillComboBox
 
       /// <summary>
 
       /// تعبئة و الكمبو بوكس اللي في الغريد فيو
 
       /// </summary>
 
       /// <param name="Dgv">اسم الداتا غريد فيو على الفورم</param>
 
       /// <param name="SqlString">الاستعلام المستخدم</param>
 
       /// <param name="ColName">اسم العامود الذي تريد تعبئة الكومبو الخاص بالغريد</param>
 
       /// <param name="ColInt">ترتيب العامود بالداتا غريد فيو</param>
 
       public static void FillComboBox(DataGridView Dgvstring SqlStringstring ColNameint ColInt)
 
       {
 
           DataTable dt = new DataTable();
 
           dt loadData(SqlString);
 
           // ADD COLUMNS
 
           DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
 
           combo.HeaderText ColName;// "Office"
 
           combo.Name "combo";
 
           combo.DataPropertyName ColName;// "Office"
 
           ArrayList row = new ArrayList();
 
           // FILL ARRAYLIST FROM DATATABLE
 
           foreach (DataRow dr in dt.Rows)
 
           {
 
               row.Add(dr[ColName].ToString());// "Office"
 
           }
 
           // ADD TO COMBO
 
           combo.Items.AddRange(row.ToArray());
 
           // Remove Old Column
 
           Dgv.Columns.RemoveAt(ColInt);
 
           // ADD THE COMBO TO DATAGRIDVIEW
 
           Dgv.Columns.Insert(ColIntcombo);
 
       

و هذه طريقة استعماله :

PHP كود :
Class1.FillComboBox(dataGridView2"select Office from Employee""Office"0); 

أهم نقطة تقوم بتعبئة الداتا غريد فيو قبل تعبئة الكومبو بوكس التي بداخله .

عندي سؤال مهم : ماهو الوضع المعين ممكن تشرح لي هذه النقطة لأني أطور الفكرة للاستخدام الشخصي لملء الجدول مع الكومبوبوكس الموجودة بداخله .

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

كود :
public static void FillDGV(DataGridView dgv, string sql)
       {
           SqlDataAdapter Da = new SqlDataAdapter(sql, Con);
           DataSet Ds = new DataSet();
           Da.Fill(Ds);
           dgv.DataSource = Ds.Tables[0];

       }

وهذا لسطر يوضع في حدث الفوردلود عند تحميل الفورم او حسب ماتريد
كود :
           DB.FillDGV(DataView_Holidays, "select * From T_Holid");
وايضا ممكن تستدعي البينت من اكثر من جدول حسب رعبتك 
بهذا السطر
كود :
               DB.FillDGV(DataView_Privt, "select TB_Priv.Priv_Screen_ID,Screen_Nam,Priv_User_ID,Priv_Display,Priv_add,Priv_Edit,Priv_Delete ,Priv_Delete from TB_Priv,TB_Screen where TB_Priv.priv_Screen_ID=TB_Screen.Screen_ID and TB_Screen.List_ID=(select List_ID from TB_Lists where List_ID=" + List_Show.SelectedValue + ") and Priv_User_ID=" + List_User.SelectedValue + "");

اما عن كود تعبه الكمبو بوكس داخل الداتا فيو ال حضرتك مشكورا قمت بعمله
ليس هو ما اريده لانه لا يعمل معي داخل الكلاس الخاص بالمشروع
اتمنى اجد كود اخر بطريقه مبسطه لو امكن
مثل هذا 
كود :
public static void FillComBobx(DataGridViewComboBoxCell Cmd, string Sql, string displayCol, string valueCol)
       {
           SqlDataAdapter Da = new SqlDataAdapter(Sql, Con);
           DataSet Ds = new DataSet();
           Da.Fill(Ds);
         
           Cmd.DataSource = Ds.Tables[0];
           Cmd.DisplayMember = displayCol;
           Cmd.ValueMember = valueCol;
   
       }
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: عمل كلاس لتعبئه كمبو بوكس داخل الداتا فيو - بواسطة amonem - 12-07-19, 07:26 PM


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


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