افترض ان الـ DataGridView المستخدمه في الشرح التالي تتكون من اعمدة تأخد الاسامي Column1 و Column2 ..
1 – الانتقال الي خلية محددة - Move to specific Cell
-
عن طريق تحديد رقم الخلية ورقم الصف
dataGridView1.CurrentCell
=dataGridView1.Rows[0].Cells[1];
في الكود السابق تم الانتقال للخلية الثانية في الصف
الاول من DataGridView
يمكن الاستعانه باسم العمود كالتالي
dataGridView1.CurrentCell =
dataGridView1.Rows[0].Cells[Column2.Index];
-
وللانتقال للخلية في نفس الصف
dataGridView1.CurrentCell =
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[Column4.Index];
-
وللانتقال للخلية التاليه في نفس الصف
dataGridView1.CurrentCell =
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[dataGridView1.CurrentCell.ColumnIndex
+ 1];
ولتفادي الخروج عن عدد الخلايا - Out Of Range
في الكود السابق
if
(dataGridView1.CurrentCell.ColumnIndex != Column4.Index)
{
dataGridView1.Rows[dataGridView1.CurrentRow.Index]
.Cells[dataGridView1.CurrentCell.ColumnIndex
+ 1];
}
else
{
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0];
}
---------------------------------------------------------------------------------------------------------------------------------
2 – معرفة قيمة خليه محدده -
Value of specific Cell
-
نفس الكود السابقة
باضافه الخاصية .Value
يعد تحديد موقع الخلية
string MyCellValue =(string)dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[Column2.Index].Value;
---------------------------------------------------------------------------------------------------------------------------------
3 – استخدام foreach مع DataGridView
يمكن استخدام foreach من اجل معرفة قيمة كل الخلايا في عمود معين
واستخدامها في مصفوفه او لارسالها الي قاعدة البيانات :
string[] array = new string[dataGridView1.Rows.Count - 1];
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
{
array[row.Index] = (string)row.Cells[Column2.Index].Value;
MessageBox.Show(array[row.Index]);
}
}