View Full Version : DisableControls
MNosouhi
دوشنبه 24 اردیبهشت 1386, 11:19 صبح
سلام
وقتی از DisableControls استفاده می کنیم ، تمام کنترل های مزتبط با dataset(query,table) حالت disable پیدا می کنن و عملیات صورت گرفته در جدول رو منعکس نمیکنن. حالا اگر بخواهیم استثنائا یکی از کنترل ها (مثلا یه dbedit ) حالت disable پیدا نکنه و تغییرات رو نشون بده چیکار باید بکنیم؟
soroush_vs
دوشنبه 24 اردیبهشت 1386, 13:00 عصر
به نظر من از روش دیگه ای برای این هدفت استفاده کن.
حتما باید از این متد استفاده کنی؟
MNosouhi
دوشنبه 24 اردیبهشت 1386, 21:58 عصر
دوست عزیزم سروش جان
جز این متد چیز دیگه ای سراغ ندارم . آیا متدی غیر از Disablecontrols وجود داره که باهاش بتونم کنترل ها رو غیرفعال کنم.
soroush_vs
دوشنبه 24 اردیبهشت 1386, 22:59 عصر
ReadOnly:=True
یا
Enabled:=False
هر کدوم که بیشتر به کارت میخوره البته هنوز هدفت رو از این کار نگفتی هدف اینه که کاربر نتونه ویرایش انجام بده یا چیز دیگه؟
ghabil
دوشنبه 24 اردیبهشت 1386, 23:21 عصر
نه DisableControls بسیار تابع مناسبی هست و بسیار پر کاربرد، منتها نمیدونم چه جوری سناریوت به اینجا رسیده که میخوای یک کنترل خاص فقط از دیتاست قطع نشه ! ولی خب اگر همچین سناریویی داری میتونی از دوتا دیتاسورس استفاده کنی که همه کنترلهات به اولی وصل باشند و کنترلی که نمیخوای ارتباطش رو از دیتاست از دست بده به دیتاست دوم ، بعد بجای DisableControls ارتباط دیتاسورس اول رو از دیتاست قطع کنی ...
سروش جات DisableControls برخلاف تصورت و شاید اسمش که گول میزنه برای ReadOnly کردن نیست برای اینه که وقتی یک کار بچ روی تعداد زیادی از رکوردهای دیتاست انجام میشه کنترلهای UI با هر تغییر رکورد آپدیت نشوند، چون این کار مدت زمان انجام اون کار بچ رو بشدت زیاد میکنه
MNosouhi
دوشنبه 24 اردیبهشت 1386, 23:46 عصر
با عرض ادب و احترام خدمت استاد عزیزم
منتها نمیدونم چه جوری سناریوت به اینجا رسیده
راستش قضیش خیلی طولانیه ، که اگه بخام توضیح بدم وقتتون گرفته میشه ، اما خب نتیجه این سناریو اینکه من احتیاج دارم که تعدادی از کنترل ها ( که کاربر میتونه انها رو مشاهده کنه) update نشوند و تعدادی هم Update بشوند. البته میشه کارهای دیگه هم کرد ، مثلا ازهمون روشی که شما فرمودید استفاده کرد (استفاده از دو تا دیتاست) . اما با توجه به شراسط خاصی که برنامه داره ، دارم دنبال کم هزینه ترین راه میگردم.
soroush_vs
سه شنبه 25 اردیبهشت 1386, 09:03 صبح
سروش جات DisableControls برخلاف تصورت و شاید اسمش که گول میزنه برای ReadOnly کردن نیست برای اینه که وقتی یک کار بچ روی تعداد زیادی از رکوردهای دیتاست انجام میشه کنترلهای UI با هر تغییر رکورد آپدیت نشوند، چون این کار مدت زمان انجام اون کار بچ رو بشدت زیاد میکنه
من برای این کار ارتباط DataSource و DataSet رو قطع میکنم این روشی هم که شما میگید خوبه
فرقی هم با قطع ارتباط میکنه؟
ghabil
سه شنبه 25 اردیبهشت 1386, 20:27 عصر
DisableControls از فرستاده شدن ایونت آپدیت به همه دیتاسورسهای رجیستر شده جلوگیری میکنه اما ، کار تو خب فقط یک دیتاست رو قطع میکنه.
هم از لحظا اینکه داخلیتر هست و هم از لحاظ اینکه جلوی اشتباهات آینده رو میگیره DisableControls بهتره مگر در سناریوهای خاص که من تا حالا برخورد نداشتم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.