PDA

View Full Version : سوال: ایجاد رویداد Click در DataGridView



kh1387
شنبه 30 شهریور 1387, 14:52 عصر
با سلام
من می خوام وقتی روی ستونی از DataGridView کسی کلیک می کنه اولا یک ستونه که بولین هستش و وقتی کسی کلیک می کنه چک می خوره و می خوام اطلاعات اون ردیف رو در بانک ذخیره و سپس فقط و فقط همون ردیف رو غیر فعال کنه.
دوستان محبت کنند راهنمایی کنند.
متشکرم

mehrnoosh_al62
شنبه 30 شهریور 1387, 15:39 عصر
for (int i = 0; i <= DataGridView1.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(DataGridView1.Rows(i).Cells(Cel lName).Value) == true)
{
//Insert Instructions
DataGridView1.Rows(i).ReadOnly = True
}
}

kh1387
یک شنبه 31 شهریور 1387, 07:41 صبح
for (int i = 0; i <= DataGridView1.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(DataGridView1.Rows(i).Cells(Cel lName).Value) == true)
{
//Insert Instructions
DataGridView1.Rows(i).ReadOnly = True
}
}

دوست خوبم مرسی از راهنمایی خوبتان. اما مشکلی که من بهش بر می خورم اینه که وقتی این کار انجام شد، حالا می خوام در سطر بعدی DataGridView را پر کنم که error زیر رو می ده و کدم هم نوشته ام .
اگه ممکنه بگید اشکال کجاست؟
مرسی


private void DGridVService_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < DGridVService.Rows.Count; i++)
{
if (DGridVService.Rows[i].Cells.ToString() == null)
{
MessageBox.Show("sssssssss");
break;
}
else
{
if (Convert.ToBoolean(DGridVService.Rows[i].Cells["register"].Value) == true)
{
DGridVService.Rows[i].ReadOnly = true;
}
}
}
}

Object cannot be cast from DBNull to other types.

mehrnoosh_al62
یک شنبه 31 شهریور 1387, 08:06 صبح
if (DGridVService.Rows[i].Cells.ToString() == null)


دوست خوبم میشه بگید منظورتون از این سطر چیه؟ شما میخواید تو دیتا گرید بگرده و اگه سطری خالی بود یه پیغام بده...؟؟؟

kh1387
یک شنبه 31 شهریور 1387, 12:47 عصر
دوست خوبم میشه بگید منظورتون از این سطر چیه؟ شما میخواید تو دیتا گرید بگرده و اگه سطری خالی بود یه پیغام بده...؟؟؟

ببینید من کلا می خوام یه datagridview داشته باشم که یه تعداد سلولهای اون توسط کاربر و با استفاده از textbox پر بشه و یه قسمتشم مستقیما با کلیک بر روی datagridview کاربر اجازه داشته باشه تا پر کنه و در آخر اگر کاربر تیک سلول نهایی رو زد. فقط و فقط همون ردیف غیر فعال بشه.
در ضمن من این کدی که فرمودید رو نوشتم جهت اینکه اگر روی قسمت خالی datagridview کلیک می کردیم Error می داد.
متشکرم

h.jaza
یک شنبه 31 شهریور 1387, 15:31 عصر
فکر می کنم شرطت رو باید به این تغییر بدی:



if (DGridVService.Rows[i].Cells(CellName).Value == null)
{
MessageBox.Show("sssssssss");
//Now Do What You Want
}