کاربرد کنترل DataGrideView در سی شارپ

در این جلسه قصد آموزش کنترل DataGrideView در سی شارپ را داریم.کاربرد اصلی این ابزار این است که به یک بانک اطلاعاتی وصل شود و اطلاعات رکوردها را به صورت جدولی نمایش می دهد، چون فعلا با هیچ نوع پایگاه داده ای آشنا نیستیم با یک سری از رویدادها و نحوه کار کردن این ابزار آشنا می شویم. (تذکر:در جلسه اول با محیط ویندوز فرم آشنا شدیم و همچنین کار کردن با دستورات را در آموزش برنامه نویسی تحت کنسول آموزش دادیم لطفا اگر مبتدی هستید با این دو آموزش شروع کنید)

دیتا گرید ویو را از پنجره Toolbox انتخاب کرده و روی فرم می گذاریم:

کنترل DataGrideView در سی شارپ

می خواهیم چند تا ستون به جدولمون اضافه کنیم برای این کار روی فلش کنار دیتاگرید ویو کلیک کرده و AddColumn را انتخاب می کنیم

کنترل DataGrideView در سی شارپ

در پنجره ای که باز می شود:

کنترل DataGrideView در سی شارپ

کنترل DataGrideView در سی شارپ

کنترل DataGrideView در سی شارپ

سه تا ستون اضافه می کنیم بنام های ردیف و نام و نام خانوادگی:

کنترل DataGrideView در سی شارپ

خاصیت RightToLeft پنجره فرم را برابر Yes قرار می دهیم تا تمام ستون ها از راست به چپ شروع شوند.

نکته: ویژوال سی شارپ چون از مبحث ارث بری استفاده می کند پس هر شیء ای که روی فرم قرار دهیم خصوصیات فرم را به ارث میبرد:

کنترل DataGrideView در سی شارپ

اگر خواستیم پهنای ستون ردیف را کمتر کنیم از فلش کنار کنترل دیتا گرید ویو EditColumns را انتخاب کرده:

کنترل DataGrideView در سی شارپ

خصوصیت Width را تغییر می دهیم که من در اینجا 60 در نظر گرفتم:

کنترل DataGrideView در سی شارپ

برنامه ای بنویسیم که مقادیری که کاربر وارد کرد را به فیلدهای جدولمان اضافه شود، فرممان را طبق فرم زیر طراحی می کنیم:

کنترل DataGrideView در سی شارپ

نحوه کد نویسی:

اگر بخواهیم در حین اجرای برنامه وقتی رکوردی به جدولمان اضافه شد یک شماره ردیف به صورت خودکار برایش در نظر بگیرد دیتا گرید ویو یک رویدادی دارد بنام CellFormatting که با نوشتن کد زیر این کار را انجام می دهد:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormatting EventArgs e)

{
dataGridView1.Rows[e.RowIndex].Cells[0].Value = e.RowIndex + 1;
}

درج اطلاعات:

private void button1_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Add(“”,textBox1.Text, textBox2.Text);

به رکورد جدولم اضافه کن (مقدار ستون ردیف , مقدار ستون نام, مقدار ستون نام خانوادگی)//

textBox1.Text = string.Empty;

textBox2.Text = string.Empty;

//بعد از اضافه شدن اطلاعات تکست ها را خالی کند

textBox1.Focus() ;
//نشانگر موس را بده به تکست اولی

}

کنترل DataGrideView در سی شارپ

حذف اطلاعات:

private void button2_Click(object sender, EventArgs e(

{

if (dataGridView1.RowCount != 1)اگر رکورد فعالی وجود داشت //

     dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

//رکورد فعال را حذف کن یعنی آن رکوردی که کاربر انتخاب کرده است

}

کنترل DataGrideView در سی شارپ

کنترل DataGrideView در سی شارپ

اگر برای حذف رکوردی خواسته باشیم از Delete صفحه کلید استفاده کنیم:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)

{

if (e.KeyCode == Keys.Delete && dataGridView1.RowCount != 1)

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

textBox1.Text = string.Empty;

textBox2.Text = string.Empty;

}

انتقال اطلاعات به TextBox ها:

اگر بخواهیم اطلاعات رکوردها را انتقال دهیم به textbox ها، کنترل دیتا گرید ویو یک رویدادی دارد بنام CellClick که این کار را برای ما امکان پذیر می کند:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

{
textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

textBox2.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();

}

برنامه را اجرا می کنیم:

کنترل DataGrideView در سی شارپ

آموزش کنترل DataGrideView در سی شارپ به پایان رسید، امیدواریم از این آموزش جالب و کاربردی لذت برده باشید.