DataGridView in C#
DataGridView
تتيح هذه االداة عرض بيانات ىلع شكل جدول ويمكن ان تعرض ابيانات
من مصادر خارجية أو يدويًا ،كما انها تمكنك من التعديل ىلع هذه البيانات
وقت التشغيل وحفظها يف نفس املصدر الذي اتت منه او اخر سحدده
املستخدم.
هذه االداه كسابقاتها تحتوي ىلع مجموعة من الخصائص Properties
سنسرد اهمها
الخصائص properties
Nameوهي االسم البرمجي
AllowUserToAddRowsهذه الخاصية لها قيمتين True / False
وهي تمكين املستخدم من اضافة صفوف جديدة.
AllowUserToDeleteRowsهذه الخاصية لها قيمتين True / False
وهي تمكين املستخدم من حذف الصفوف.
AllowUserToOrderColumnsهذه الخاصية لها قيمتين True /
Falseوهي تمكين املستخدم من ترتيب االعمدة.
AllowUserToResizeColumnsهذه الخاصية لها قيمتين True /
Falseوهي تمكين املستخدم من تعديل حجم االعمدة.
AllowUserToResizeRowsهذه الخاصية لها قيمتين True / False
وهي تمكين املستخدم من تعديل حجم الصفوف.
AlternatingRowsDefaultCellStyleتنسيق الخاليا (لون خلفية الخاليا
– نوع الخط – لون الخط – املحاذاه – نوع البيانات – لون الخلفية عند النقر
عليها – لون الخط عند النقر عليها)
BackgroundColorلون خلفية االداة.
Columnsاالعمدة تحتوي ىلع اسماء رؤوس االعمدة مع املالحظ ان
ترتيبها بيدأ من 0وعند اختياره ستظهر لك النافذه التالية :
وعند الضغط ىلع Addستظهر لك النافذة التالية
: Nameهو االسم البرمجي للعمود حيث يمكنك استخدام اسمه بدال عن
Indexالخاص به.
Typeنوع خاليا العمود حيث توجد لدينا 6انواع
DataGridViewTextBoxColumn -1هو عمود خالياه مربع نص
DataGridViewButtonColumn -2هو عمود خالياه زر امر.
DataGridViewCheckBoxColumn -3هوخالياه مربع اختيار.
DataGridViewComboBoxColumn -4هو عمود خالياه قائمة
منسدلة.
DataGridViewLinkColumn -5هو عمود خالياه رابط تشعبي.
DataGridViewImageColumn -6هو عمود خالياه صور.
HeaderTextهو االسم الظاهر للعمود.
يف حالة نريد اضافة صفوف للـ DataGridViewنقوم بالتالي
;)DataGridView1.Rows.Add(Column1, Column2, Column3 ….
ويف حالة تريد ارجاع الصف الحالي الذي تم اختياه عن طريق املاوس
;Int i= DataGridView1. CurrentRow.Index
ويف حالة نريد قراءة خليه معينة
String st= DataGridView1. Rows[x].Cells[y].Value
حيث xهي رقم الصف و Yهي رقم العمود.
DataSource
هي مصدر البيانات التي سيتم استيراد البيانات منه حيث مصدر البيانات قد
يكون قاعدة البيانات أو جدول تم تحميله يف DataSetأو .DataTable
;)”DataGridView1. DataSource=ds.table(“Info
بعض اهم االحداث Events
: CurrentCellChangeعند التنقل من خليه الى اخرى يحدث هذا
الحدث.
: CellValueChangeيحدث عندما تتغير محتويات الخلية.
: CellBeginEditيحدث عند البدء يف تغيير محتويات الخلية.
: CellClickيحدث عند النقر ىلع الخلية.
CellContentClickعند النقر ىلع ىلع محتويات الخلية.
CellDoubleClickعند النقر املزدوج ىلع الخلية.
CellEnterعند الدخول ىلع الخلية.
foreach Loop
حلقة، for بديالً سهالً لالستخدام وأكثر قابلية للقراءة من حلقة# C توفر
عند العمل مع املصفوفات او املجموعات للتكرار خالل عناصرforeach
. خالل كل عنصرforeach تتكرر حلقة. املجموعات/ املصفوفات
public static void Main(string[] args)
{
char[] myArray = {'H','e','l','l','o'};
for(int i = 0; i < myArray.Length; i++)
{
Console.WriteLine(myArray[i]);
}
}
Controls مع عناصر التحكمForeach
textbox, ComboBox, List, ( Controls عند التعامل مع عناصر التحكم
وعند االشاره لهاClass وغيرها) فإن جلها تكون تحت الفئة... Label
.this.Controls تكون
املوجودة ىلع سطحtextbox عندما نريد مسح جميع محتويات: مثال
نقوم بكتابة السطر التاليform
foreach ( Control x in this.Controls)
if (x is TextBox)
x.Text = "";
او يمكنك اختبار النوع
foreach ( Control x in this.Controls)
if (x.GetType() == typeof(TextBox))
x.Text = "";