12-07-19, 06:06 PM
(آخر تعديل لهذه المشاركة : 17-07-19, 03:59 PM {2} بواسطة asemshahen5.)
مرحبا اخواني الاعزاء في هذا اليوم اقدم لكم كلاس يقوم بتعبئة الداتا غريد فيو مع الكومبو بوكس الموجودة بداخله .
الكلاس :
طريقة الاستخدام :
الطريقة الاولى :
لملئ الداتا مع الكومبو بوكس الموجودة بداخله نكتب الكود التالي في حدث اللود الخاص بالفورم هذا الكود به بحث حسب ID بقيمة 1 .
الكود :
هذا الكود مثل السابق لكن من دون بحث عن سجل بالجدول :
الكود الاخير لملئ كومبو بوكس من جدول آخر أولا نقوم بملئ الداتا غريد فيو بالطريقة التي نريد مع تحديد عامود للكومبو بوكس الذي نريد تعبئته طبعا نحفظ ترتيب العامود ابتداء من الصفر ثم نكتب الكود التالي :
الكود تقريبا مشروح بالكلاس عن طريق السمري و دمتم بخير .
يوجد بالمرفقات مثال مع سكربت عمل قاعدة البيانات و الجدول المستخدم .
الكلاس :
PHP كود :
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FillDataGridViewAndComboBox
{
class FillDataGridViewAndComboBoxCLS
{
static SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Accounts;Integrated Security=True");
/// <summary>
/// تعبئة الغريد فيو و الكمبو بوكس اللي في الغريد فيو
/// </summary>
/// <param name="Dgv">اسم الداتاغريد فيو على الفورم</param>
/// <param name="playerssql">الاستعلام المستخدم</param>
/// <param name="FilterColumnName">اذا كان هناك بحث ضع اسم العامود المراد البحث فيه</param>
/// <param name="RowFilterValue">القيمة المراد البحث عنها</param>
/// <param name="ColName">اسم العامود الذي تريد تعبئة الكومبو الخاص بالغريد</param>
/// <param name="ColInt">ترتيب العامود بالداتا غريد فيو</param>
public static void FillDataGridViewAndComboBox(DataGridView Dgv, string SqlString, string FilterColumnName, string RowFilterValue, string ColName, int ColInt)
{
DataView dv = new DataView();
dv = loadData(SqlString).DefaultView;
if (RowFilterValue.Length > 0)
{
int value = 0;
if (Int32.TryParse(RowFilterValue.Trim(), out value))
{
dv.RowFilter = " " + FilterColumnName + " = " + RowFilterValue;
}
else
{
dv.RowFilter = " " + FilterColumnName + " = '" + RowFilterValue + "'";
}
Dgv.DataSource = dv;
}
else
{
dv.RowFilter = null;
Dgv.DataSource = loadData(SqlString);
}
FillDgvComboBox(Dgv, SqlString, ColName, ColInt);
}
public static DataTable loadData(string SqlString)
{
SqlDataAdapter adapter = new SqlDataAdapter(SqlString, con);
DataTable dt = new DataTable();
dt.Clear();
adapter.Fill(dt);
return dt;
}
// FillComboBox
/// <summary>
/// تعبئة و الكمبو بوكس اللي في الغريد فيو
/// </summary>
/// <param name="Dgv">اسم الداتا غريد فيو على الفورم</param>
/// <param name="SqlString">الاستعلام المستخدم</param>
/// <param name="ColName">اسم العامود الذي تريد تعبئة الكومبو الخاص بالغريد</param>
/// <param name="ColInt">ترتيب العامود بالداتا غريد فيو</param>
public static void FillDgvComboBox(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);
}
}
}
طريقة الاستخدام :
الطريقة الاولى :
لملئ الداتا مع الكومبو بوكس الموجودة بداخله نكتب الكود التالي في حدث اللود الخاص بالفورم هذا الكود به بحث حسب ID بقيمة 1 .
الكود :
PHP كود :
FillDataGridViewAndComboBoxCLS.FillDataGridViewAndComboBox(dataGridView1, "SELECT ID,Name,Telphone FROM CONTRACTORS ", "ID", "1", "NAME", 1);
هذا الكود مثل السابق لكن من دون بحث عن سجل بالجدول :
PHP كود :
FillDataGridViewAndComboBoxCLS.FillDataGridViewAndComboBox(dataGridView1, "SELECT ID,Name,Telphone FROM CONTRACTORS ", "", "", "NAME", 1);
الكود الاخير لملئ كومبو بوكس من جدول آخر أولا نقوم بملئ الداتا غريد فيو بالطريقة التي نريد مع تحديد عامود للكومبو بوكس الذي نريد تعبئته طبعا نحفظ ترتيب العامود ابتداء من الصفر ثم نكتب الكود التالي :
PHP كود :
FillDataGridViewAndComboBoxCLS.FillDgvComboBox(dataGridView2, "select Office from Employee", "Office", 0);
الكود تقريبا مشروح بالكلاس عن طريق السمري و دمتم بخير .
يوجد بالمرفقات مثال مع سكربت عمل قاعدة البيانات و الجدول المستخدم .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
