PDA

View Full Version : مشکل با DataGridView



KhanDaii
جمعه 01 دی 1391, 17:26 عصر
سلام
من یه DataGridView دارم که متصل به بانک SqlServer هست
اسم فیلد هاش اینه : id , Name, LastName
می خوام کاری کنم که وقتی روی یکی از سطرها کلیک شد، مقدار id اون سطری که روش کلیک شده رو برگردونه

با تشکر

danialafshari
جمعه 01 دی 1391, 18:31 عصر
سلام
کد زیر مقدار ID موجود در gridview رو بر می گرداند
MessageBox.Show(int.Parse(dt.Rows[dataGridView1.CurrentRow.Index]["ID"].ToString()));
موفق باشی

KhanDaii
جمعه 01 دی 1391, 19:20 عصر
سلام
کد زیر مقدار ID موجود در gridview رو بر می گرداند
MessageBox.Show(int.Parse(dt.Rows[dataGridView1.CurrentRow.Index]["ID"].ToString()));
موفق باشی

ممنون از پاسختون
حالا اگه این DataGridView به بانک اطلاعاتی متصل نبود چی؟ بازم میشه این کار رو کرد؟
یعنی یک سطر رو انتخاب کنی مقدار id در همون سطر رو برگردونه؟

ali.bahrami
جمعه 01 دی 1391, 20:51 عصر
بله دوست عزیز شدنیه .... در کل این دستور مقدار ستون ID گرید را در سطر کلیک شده برمیگردونه

مهرداد صفا
جمعه 01 دی 1391, 21:03 عصر
سلام
در رویداد CellClick آرگومنت E دارای خصوصیتی به نام RowIndex میباشد که نشان دهنده ردیف سلولیست که روی آن کلیک شده، در نتیجه 0 و E.RowIndex آدرس اولین ستون از ردیف جاری میباشد:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dataGridView1[0, e.RowIndex].Value.ToString());
}

اگر id اولین فیلد شما نیست و به طور کلی میتوانید از روش زیر هم استفاده کنید:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells["id"].Value.ToString());
}