(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 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;
}
شكرا لاهتمامك استاذي الغالى
الكود دا مختصر لكن بيطلع خطأ لو ممكن ارفق مثال افضل
(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 dgv, string Sql, string displayCol,int ColInt)
{
SqlDataAdapter sda1 = new SqlDataAdapter(Sql, Con);
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 sender, EventArgs e)
{
DB.FillDGVComBobx(dataGridView1, "select Office,Name,EmployeeID from Employee", "Office",0);
}
بالرغم ان الكود طويل لكن النتيجه 100%
شكرا ليك استاذي الغالى
اكتشفت حاجه فى الكود
1- الكود بيعبى الكمبوبوكس ال به بيانات فقط لكن لما بحب اضيف بند جديد الكمبو بوكس مش بيكون به اي بيانات
2- استدعاء البيانات داخل الداتا فيو بتتم بوضع شرط استدعاء بيانات الموظف الحالى كيف اضع شرط به
(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 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;
}
شكر لك استاذي الفاضل
هذا الكود بيملا اول كمبو بوكس فى اول صف فقط
اذا اردت اختيار بند اخر لا اجد اي بيانات داخل الكمبو بوكس االثاني
