12-07-19, 07:26 PM
(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 Dgv, string SqlString, string ColName, int 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(ColInt, combo);
}
و هذه طريقة استعماله :
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;
}