PDA

View Full Version : عدم ذخیره اطلاعات در DBGrid با تغییر رکورد



yaas135
چهارشنبه 18 آذر 1388, 10:12 صبح
سلام
توی برنامه من کاربر اجازه داره که توی DBGrid تغییراتی رو که میخواد اعمال کنه.
اما میخوام بهش اجازه ندم بدون زدن کلید ذخیره، با بالا پایین کردن رکورد ها عمل ذخیره سازی رو انجام بده
نمیدونم سوال مفهموم بود یا نه

MToloo
پنج شنبه 19 آذر 1388, 18:13 عصر
سلام.
يك راهش اينه كه تو واقعه before post اون ديتاستت در حالت عادي يك خطا ايجاد كني (مثلا با abort يا raise). ولي زماني كه دكمه ذخيره زده شد يك فلگي true بشه و سپس ديتاست post بشه. در اين صورت تو واقعه before post چون اون فلگ true شده، خطا ايجاد نشه و اجازه ذخيره كردن و بده.

راه ديگه كه شايد منطقي تر باشه اينه كه اگه داري از كامپوننتهاي ADO استفاده ميكني، LockType اون ديتاست و بذاري ltBatchOptimastic. در اينصورت اگه ديتاست post هم بشه، تغييرات به ديتابيس فرستاده نميشه تا زماني كه متود UpdateBatch ديتاست فراخواني بشه.

محمد حسن
پنج شنبه 19 آذر 1388, 20:59 عصر
برای تغییر و ویرایش رکوردها از dbedit و استفاده کنید و dbgrid را در حالت readonly قرار دهید
یا ازکامپوننت cxgrif استفاده کنید و cancel on exit را فعال کنید(یا حتی editing,inserting,... را میتوانید غیر فعال کنید)
این سوال را در قسمت بانکهای اطلاعاتی بپرسید