PDA

View Full Version : سوال: به دست آوردن سطر ستون با نوع Button در دیتاگریدویو



m_soheyl_s
سه شنبه 06 آبان 1393, 10:53 صبح
با توجه به شکل زیر من میخوام آی دی سطر را به دست بیارم. اما مشکلی که هست اینه که با کلیک بر روی هر سلول می توان با کد زیر به شماره سطر دست یافت، اما زمانی که روی ستونهای از نوع Button کلیک میکنم، برنامه هنگ میکنه و مقداری رو برنمی گرداند.
125047

از کد زیر هم استفاده میکنم
private void dgvCustomers_CellClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dgvCustomers.CurrentRow.Cells["colID"].Value.ToString());
}
با رویدادهای CellContentClick و CellMouseClick هم امتحان کردم.

pedram.11
سه شنبه 06 آبان 1393, 11:14 صبح
سلام در پارامتر e مقدار ایندکس ستون و سطر قرار داره:
e.ColumnIndex
e.RowIndex

m_soheyl_s
سه شنبه 06 آبان 1393, 11:24 صبح
سلام در پارامتر e مقدار ایندکس ستون و سطر قرار داره:
e.ColumnIndex
e.RowIndex

با تغییر کد به صورت زیر، باز هم فرقی نکرد. میشه منظورتون رو واضح تر بگید. مشکل این است که روی ستونهایی که از نوع Button هستند پیغامی نمیاد(در بقیه ی ستونها مشکلی نیست) و برنامه را باید مستقیما از VS، استاپ کرد.
private void dgvCustomers_CellClick(object sender, DataGridViewCellEventArgs e)
{
int x = e.RowIndex;
MessageBox.Show(dgvCustomers.Rows[x].Cells["colID"].Value.ToString());
}

pedram.11
سه شنبه 06 آبان 1393, 11:31 صبح
شما میخواستید شماره سطری که دکمه در اون کلیک میشه رو بدست بیارید دیگه؟!
اگه میخواید مقدار فیلد "شماره" موجود در سطر رو نمایش بدید اول اینکه مقدارش خالی هست و اگه null باشه ارور میده. اگه بازهم اشتباه گرفتم برسون :لبخند:

m_soheyl_s
سه شنبه 06 آبان 1393, 11:39 صبح
همین طور که در کد مشخص هست من در اصل میخوام مقدار ستون Cells["colID"].Valueرا به دست آورم که نیاز به شماره سطر دارم. اما مشکل اینه که شماره سطر e.RowIndex را هم نمیتوانم در ستونهای از نوع Button به دست بیاورم و با کلیک در این ستون ها کلا برنامه قفل میکنه.

pedram.11
سه شنبه 06 آبان 1393, 12:43 عصر
گیر میکنه یا ارور میده؟!
من یه نمونه گذاشتم مشکلی نداره...

m_soheyl_s
سه شنبه 06 آبان 1393, 13:07 عصر
گیر میکنه و ارروری نمیده.
علتش رو فهمیدم چرا؟ چون من از کامپوننت DevComponent,DotNetBar استفاده میکنم. این ستون را از نوع ButtonX استفاده کردم و به همین علت جواب نمیداد و با تغییر نوع به Button معمولی حل شد.
اما میدونید چه جوری با نوع ButtonX این مشکل رو حل کنم چون بحث گرافیک برام مهمه؟