PDA

View Full Version : سوال: مشکل با دیتاگریدویو



mehran_337
سه شنبه 16 فروردین 1390, 15:42 عصر
با سلام خدمت دوستان
قبل از طرح این سوال سرچ کردم اما چیزی که می خواستم بدست نیاوردم.

یک دیتاگریدویو ایجاد کردم که بوسیه دیزاین اطلاعاتش از بانک پر شده . آبجکتهای dataset , BindingSource , TableAdaptor هم خود به خود اضافه شدند . حالا می خوام با کلیک بر روی هر ردیف اطلاعاتش در textbox درج بشه از این روش استفاده کردم :

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{

btnUpdate.Enabled = true;
btnDel.Enabled = true;

txtSharh.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
lblCode.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
}


البته می خوام با حرکت روی هر ردیف اطلاعات نمایش داده بشن چه با کلیک موس چه با کلید جهت نمای کیبورد.

1 - آیا از رویدادی که استفاده کردم درسته یا رویداد بهتری هم هست؟

حالا می خوام با دکمه مثلا حذف اطلاعات از دیتابیس حذف بشه . اینکار هم با دستورات sql انجام دادم.
2 - اما حالا چیکار باید بکنم که گرید هم رفرش بشه البته از form_load استفاده کردم ولی روی رویداد SelectionChanged خطا می ده که Index خارج از محدوده هست.
اگر مبشه راهنمایی کنید.

ali.m.vand
سه شنبه 16 فروردین 1390, 19:01 عصر
دوست عزیز می توانید به صورت زیر نیز عمل کنید
int index;
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
index = e.RowIndex;
txtSharh.Text = dataGridView1.Rows[index ].Cells[0].Value.ToString();
}