PDA

View Full Version : ثبت شدن رکورد تازه اضافه شده به DataGridView



emad4000
دوشنبه 20 شهریور 1385, 01:23 صبح
من یه دیتاگرید دارم که دیتاسورسش به یه دیتاست بایند شده . حالا هروقت که یه رکورد به این دیتاگرید اضافه میکنم تا Enter رو نزنم یا روی یه رکورد دیگه کلیک نکنم این ردیف توی دیتاست ثبت نمیشه - یعنی بعد از اضافه کردن آخرین سلول -
من می خواستم بعد از اضافه شدن رکورد یه تغییر توی یکی از فیلدهای دیتاست بدم . بنابراین اگه بعد از اضافه شدن سلول آخر بلافاصله دستور موردنظرمو اجرا کنم Error میده و باید اول یه جای دیگه کلیک کنم تا رکورد توی دیتاست ثبت بشه و بعد اونو ویرایش کنم.
می خواستم بدونم با Enter کردن چه متدی فراخوانی میشه که این ردیف توی دیتاست ثبت میشه ؟ من خودم از این متد استفاده کردم ولی فایده نداشت


DataGridView.EndEdit();

ضمنا دیتاست من ستونهای دیگه ای هم داره که توی دیتاگرید visible شون رو false کردم و AllowNull شون هم true ه و میتونن خالی باشن

emad4000
سه شنبه 21 شهریور 1385, 23:20 عصر
لطفا یکی کمک کنه . آخه این یکی خیلی مهمه ...

once4ever
چهارشنبه 22 شهریور 1385, 09:59 صبح
برای دیتا ست که بایند شده تغییرات ذخیره کن

AcceptChanges()

emad4000
جمعه 24 شهریور 1385, 07:06 صبح
مشکل اینه که من بعدا می خوام با GetChanges تغییرات دیتاست رو داشته باشم و متد AcceptChanges این تغییرات رو تایید می کنه و من دیگه نمی تونم بهشون دسترسی داشته باشم.

once4ever
جمعه 24 شهریور 1385, 09:43 صبح
مشکل اینه که من بعدا می خوام با GetChanges تغییرات دیتاست رو داشته باشم و متد AcceptChanges این تغییرات رو تایید می کنه و من دیگه نمی تونم بهشون دسترسی داشته باشم.
دقیق یادم نیست ولی میتونی خودت خاصیت changes رکوردی رو true کنی!
در هر صورت بگرد دنبال این فکر کنم پیدا کنی چون روش درست همون acceptchange هست
(گرچه میتونی تغییرات رو اول یجای نگه داری و بعد acceptchanges کنی)

emad4000
جمعه 24 شهریور 1385, 12:57 عصر
اینجوری که خیلی مشکل میشه. هر لحظه باید چک کنی که چه تغییراتی صورت گرفته و به لیستت اضافه کنی . حالا اگه کاربر تغییرات رو لغو کنه دوباره باید از لیست پاکش کنی . خلاصه خیلی پیچیده میشه . اگه روش بهتری پیدا بشه که بهتره . به هر حال ممنون

emad4000
چهارشنبه 29 شهریور 1385, 00:58 صبح
کسی پیشنهاد دیگه ای نداره ؟؟