
کاربردها و ویژگیهای DataGridView در دات نت (C#) | راهنمای کامل استفاده از DataGridView در Windows Forms
کاربردها و ویژگیهای DataGridView در دات نت
مقدمه
هنگام توسعه نرمافزارهای دسکتاپ با استفاده از Windows Forms در دات نت، یکی از مهمترین نیازها نمایش اطلاعات به کاربران است. برای این منظور مایکروسافت کنترل قدرتمندی به نام DataGridView ارائه کرده است که امکان نمایش دادهها به صورت جدولی را فراهم میکند.
DataGridView جایگزین کنترل قدیمی DataGrid شده و امکانات بسیار بیشتری نسبت به نسخههای قبلی در اختیار توسعهدهندگان قرار میدهد. این کنترل میتواند اطلاعات را از منابع مختلفی مانند پایگاه داده SQL Server، Oracle، MySQL، فایلهای Excel، DataTable و Collection ها دریافت و نمایش دهد.
DataGridView چیست؟
DataGridView یک کنترل گرافیکی در Windows Forms است که برای نمایش و مدیریت دادهها در قالب سطر و ستون استفاده میشود.
این کنترل به کاربران اجازه میدهد:
اطلاعات را مشاهده کنند.
دادهها را ویرایش کنند.
رکورد جدید اضافه کنند.
رکوردها را حذف کنند.
دادهها را مرتبسازی کنند.
اطلاعات را فیلتر کنند.
نمونهای از نمایش اطلاعات در DataGridView:
ID | Name | Age |
|---|---|---|
1 | Ali | 25 |
2 | Reza | 30 |
3 | Sara | 28 |
مهمترین ویژگیهای DataGridView
1. نمایش دادهها به صورت جدولی
مهمترین وظیفه DataGridView نمایش اطلاعات در قالب سطرها و ستونها است.
dataGridView1.DataSource = customers;در این مثال لیستی از مشتریان مستقیماً در DataGridView نمایش داده میشود.
2. اتصال به پایگاه داده (Data Binding)
DataGridView از Data Binding پشتیبانی میکند و میتواند مستقیماً به منابع داده متصل شود.
منابع قابل اتصال:
DataTable
DataSet
List<T>
BindingSource
Entity Framework
LINQ Query
نمونه:
DataTable dt = new DataTable();
SqlDataAdapter adapter =
new SqlDataAdapter("SELECT * FROM Users", connection);
adapter.Fill(dt);
dataGridView1.DataSource = dt;3. قابلیت ویرایش دادهها
کاربر میتواند دادهها را مستقیماً داخل جدول ویرایش کند.
dataGridView1.ReadOnly = false;یا برای یک ستون خاص:
dataGridView1.Columns["Name"].ReadOnly = true;4. مرتبسازی (Sorting)
کاربران میتوانند با کلیک روی عنوان ستونها دادهها را مرتب کنند.
dataGridView1.Columns["Name"].SortMode =
DataGridViewColumnSortMode.Automatic;5. انتخاب سطرها
امکان انتخاب یک یا چند سطر وجود دارد.
dataGridView1.SelectionMode =
DataGridViewSelectionMode.FullRowSelect;6. افزودن سطر جدید
dataGridView1.AllowUserToAddRows = true;7. حذف سطرها
dataGridView1.AllowUserToDeleteRows = true;8. مخفی کردن ستونها
گاهی برخی ستونها مانند شناسه پایگاه داده نباید نمایش داده شوند.
dataGridView1.Columns["Id"].Visible = false;9. تغییر ظاهر ستونها
dataGridView1.Columns["Name"].HeaderText = "نام";
dataGridView1.Columns["Name"].Width = 200;10. تغییر رنگ سطرها
dataGridView1.RowsDefaultCellStyle.BackColor =
Color.LightGray;11. انتخاب چند سطر
dataGridView1.MultiSelect = true;12. نمایش شماره ردیفها
private void dataGridView1_RowPostPaint(
object sender,
DataGridViewRowPostPaintEventArgs e)
{
dataGridView1.Rows[e.RowIndex]
.HeaderCell.Value = (e.RowIndex + 1).ToString();
}13. پشتیبانی از رویدادها
از مهمترین Event ها:
CellClick
private void dataGridView1_CellClick(
object sender,
DataGridViewCellEventArgs e)
{
MessageBox.Show(
dataGridView1.Rows[e.RowIndex]
.Cells["Name"].Value.ToString());
}CellValueChanged
private void dataGridView1_CellValueChanged(
object sender,
DataGridViewCellEventArgs e)
{
MessageBox.Show("Value Changed");
}RowEnter
private void dataGridView1_RowEnter(
object sender,
DataGridViewCellEventArgs e)
{
}انواع ستونهای DataGridView
DataGridView از انواع مختلف ستونها پشتیبانی میکند.
DataGridViewTextBoxColumn
نمایش متن
DataGridViewTextBoxColumn column =
new DataGridViewTextBoxColumn();DataGridViewCheckBoxColumn
نمایش مقدار Boolean
DataGridViewCheckBoxColumn column =
new DataGridViewCheckBoxColumn();DataGridViewComboBoxColumn
نمایش لیست انتخابی
DataGridViewComboBoxColumn column =
new DataGridViewComboBoxColumn();DataGridViewButtonColumn
نمایش دکمه
DataGridViewButtonColumn column =
new DataGridViewButtonColumn();DataGridViewImageColumn
نمایش تصویر
DataGridViewImageColumn column =
new DataGridViewImageColumn();مزایای استفاده از DataGridView
یادگیری آسان
پیادهسازی سریع
پشتیبانی کامل از Data Binding
قابلیت سفارشیسازی بالا
مناسب برای نرمافزارهای سازمانی
پشتیبانی از حجم بالای داده
امکان توسعه و شخصیسازی
قابلیت اتصال به انواع پایگاه داده
معایب DataGridView
در دادههای بسیار حجیم ممکن است کند شود.
ظاهر آن نسبت به کنترلهای مدرن قدیمیتر است.
برای نمایش میلیونها رکورد نیاز به Virtual Mode دارد.
در پروژههای مدرن WPF یا MAUI کمتر استفاده میشود.
بهینهسازی عملکرد DataGridView
برای نمایش حجم زیادی از اطلاعات:
فعال کردن Double Buffer
typeof(DataGridView)
.InvokeMember(
"DoubleBuffered",
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.SetProperty,
null,
dataGridView1,
new object[] { true });استفاده از Virtual Mode
dataGridView1.VirtualMode = true;جلوگیری از AutoSize غیرضروری
dataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.None;موارد استفاده DataGridView در پروژههای واقعی
از DataGridView در پروژههای زیر استفاده میشود:
سیستمهای حسابداری
نرمافزارهای فروشگاهی
سیستمهای انبارداری
سیستمهای مدیریت مشتریان (CRM)
نرمافزارهای مدیریت منابع انسانی
سیستمهای آموزشی
سیستمهای اتوماسیون اداری
نرمافزارهای مالی و بانکی
جمعبندی
DataGridView یکی از مهمترین و پرکاربردترین کنترلهای Windows Forms در دات نت است که امکان نمایش، ویرایش و مدیریت دادهها را به سادهترین شکل فراهم میکند. این کنترل با پشتیبانی از Data Binding، رویدادهای متعدد، قابلیت سفارشیسازی و انواع ستونها، انتخابی مناسب برای توسعه نرمافزارهای دسکتاپ سازمانی محسوب میشود. هر برنامهنویس C# و WinForms باید تسلط کافی بر DataGridView داشته باشد، زیرا بخش بزرگی از نرمافزارهای تجاری و مدیریتی بر پایه این کنترل توسعه داده شدهاند.
آیا این مقاله مفید بود؟
نظرات
پرسشها و دیدگاههای خود را درباره این مقاله ثبت کنید.
در حال دریافت دیدگاهها...