PDA

View Full Version : سوال: Event RowLeave



safiech
پنج شنبه 23 خرداد 1387, 12:32 عصر
سلام دوستان خسته نباشید . سوال من در مورد Event DataGridView1_RowLeave هست . من می خوام سطر به سطر داده های وارد شده در DataGridView را بصورت سلول به سلول بخونم و داخل DataBase درج کنم . اما اطلاعات داخل سلول آخر خالی و Null قرار می گیرد .
من این کد رو نوشتم . می خوام بدونم راه حلی هست برای گرفتن مقدار داخل این سلول که آخرین سلول ردیف دیتا گرید هست یا نه ؟ آیا باید از Event دیگه ای استفاده کنم ؟


privatevoid DataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow drv = DataGridView1.Rows[e.RowIndex];
DataRow dr = datatable1.NewRow();
dr[1] = checkid;
dr[2] = drv.Cells[2].Value.ToString();
dr[3] = drv.Cells[3].Value.ToString();
dr[4] = (float)drv.Cells[4].Value;
dr[5] = (float)drv.Cells[5].Value;
dr[6] = (float)drv.Cells[6].Value;
dr[7] = (float)drv.Cells[7].Value; *****
datatable1.Rows.Add(dr);
}
privatevoid savebtn_Click(object sender, EventArgs e)
{
foreach (DataRow dr in datatable1.Rows)
{
Table1TableAdapter.Update(dr);
}
}


واین متن خطایی است که از خطی که علامت زدم می گیره( Specified cast is not valid)
ممنون میشم اگه راهنماییم کنیم .

hallaji
جمعه 24 خرداد 1387, 23:48 عصر
سلام دوست عزيز
منم هم اين مشكل رو داشتم
به اين تايپيك يه نگاه بكن اميدوارم به دردت بخوره
http://barnamenevis.org/forum/showthread.php?t=109528

safiech
یک شنبه 26 خرداد 1387, 13:56 عصر
با سلام و خسته نباشید . از حسن توجه تون ممنون جناب Hallaji ولی مشکل من از طریق راه حل شما حل نمیشه بلکه سوال من یه چیز دیگه است . من می خوام برای ثبت اطلاعاتم درون بانک اطلاعاتی از DataGridView استفاده کنم البته بدون استفاده از هیچ کنترل دیگه ای برای ورود اطلاعات . بلکه خود DataGridView هم وظیفه دریافت اطلاعات و ثبت رو انجام بده و هم نمایش همان اطلاعات درج شده در بانک را . من از Event DataGridView1_RowLeave استفاده کردم تاپس از ترک کردن سطر مورد نظر اطلاعات بصورت سلول به سلول در داخل DataRow ذخیره بشه و بعد بکمک یک Butten تمام سطرهایی که بدین طریق حاوی اطلاعات هستند را در بانک اطلاعاتی ام ذخیره کنم .همانند کد نوشته شده در تاپیک اول؛ و اما مشکل من : اولا آخرین سلول هر سطر با فواخوانی این متد هنوز مقداردهی نشده . با اینکه من داخل این ستون از ِDataGridView داده قرار داده ام ولی پیغام می دهد که این سلول Null می باشد . از طرفی اگر کاربر بعضی از سلول های سطر مورد نظرش را تغییر دهد و بدون اینکه از سطر خارج شود دکمه ذخیره را کلیک کند اونتِ rowLeave اصلا فراخوانی نمی شود . و اطلاعات ویرایش نمی شوند . اگه می شه منو راهنمایی کنید . ببخشید که اینقدر پر حرفی کردم .