13-07-19, 04:50 PM
(آخر تعديل لهذه المشاركة : 13-07-19, 04:53 PM {2} بواسطة asemshahen5.)
و هذا كود شبيه بما تريد .
الكود الاول يعبئ الكومبو بوكس الموجود بالداتا جريد فيو من جدول مختلف عن جدول الداتا غريد فيو :
طريقة استخدامه :
الكود الثاني يعبئ الكومبو بوكس من نفس الجدول المعبئ منه الداتا غريد فيو :
طريقة استخدامه :
يوجد مثال بالمرفقات :
الكود الاول يعبئ الكومبو بوكس الموجود بالداتا جريد فيو من جدول مختلف عن جدول الداتا غريد فيو :
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 combo, string SqlString, string ColName, string 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 combo, string SqlString, string 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");
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر