آموزش کار با datatable و datagridview در سی شارپ
برای کار با datatable در سی شارپ بايد يك شي جديد از آن ايجاد كنيم:
DataTable dt = new DataTable();
حالا بايد براي شي dt ستون هايي كه مي خواهيم تعريف كنيم:
dt.Columns.Add(“id”);
dt.Columns.Add(“Name”);
dt.Columns.Add(“Family”);
.
.
.
اگر بخواهيم يكي از ستون ها را كليد اصلي قرار دهيم از كد زير استفاده مي كنيم:
dt.PrimaryKey = new DataColumn[] { dt.Columns[“id”] };
اكنون بايد براي شي dt سطر تعريف كنيم و آنها را مقداردهي كنيم:
dt.Rows.Add(“1″ ,”Ali”, “Alizade “,…);
dt.Rows.Add(“2″ ,”ahmad”, “ahmadi “,…);
.
.
.
براي نمايش اطلاعات مي توان از ToolBox يك DataGridViewبه فرم اضافه كرد و خاصيت DataSource آن را مساوي dt قرار داد:
dataGridView1.DataSource = dt;
کار با datagridview در سی شارپ
مخفي كردن يك ستون در DataGridView
ممكن است بخواهيم برای کار با datagridview در سی شارپ يكي از ستون ها در DataGridView نمايش داده نشود در اين صورت از كد زير استفاده مي كنيم:
dataGridView1.Columns[0].Visible = false;//مخفي كردن ستون اول
براي پاك كردن DataTable از متد clear() استفاده مي كنيم:
dt.Clear();
انتقال داده ها از يك DataTable به DataTable ديگر
فرض كنيد مي خواهيم برای کار با datatable در سی شارپ يك DataTable را فيلتر كنيم يا هرگونه تغييرات ديگر روي آن انجام دهيم و نتيجه را به يك DataTable ديگر منتقل كنيم.
مثال:
dt.DefaultView.RowFilter = (“Name like ‘” + textBox1.Text + “%'”);
DataTable dtTemp = new DataTable();
dtTemp = dt.DefaultView.ToTable();
در مثال بالا سطرهاي dt بر اساس ستون نام فيلتر شده اند و يك DataTable ديگر به نام dtTemp تعريف شده و مقدار dt درون آن ريخته شده است.
دسترسي به يك فيلد خاص در GridView
txtTel.Text = dataGridView1.Rows[index].Cells[“Tell”].Value;
در کد بالا مقدار موجود در دیتا گرید ویو به تکست باکس منتقل میگردد. میتوانیم از دستور ()tostring نیز استفاده کنیم.
در زير لينك سورس يك مثال ساده از مطالب گفته شده قرار داده شده كه با VisualStudio 2010 نوشته شده است در اين مثال دوتا DataGridView ، چند تكست باكس و يك دكمه ويرايش قرار دارد، كاربر روي هر سطر از DataGridView1 كليك كند اطلاعات آن درون تكست باكس ها نمايش داده مي شود و با زدن دكمه ويرايش اطلاعات آن سطر بروز مي شود همچنين شماره تلفن آن نيز در DataGridView2 نمايش داده مي شود.