PDA

View Full Version : تغيير نكردن گريد هنگام حذف ركورد



hessam abjam
جمعه 09 بهمن 1388, 09:49 صبح
سلام مجدد من عمل حذف رو انجام مي دم ولي ديتاگريد تغيير نمي كند مگر اين كه برنامه را ببندم و دوباره اجرا كنم چاره چيست؟:گریه:

سعید صابری
جمعه 09 بهمن 1388, 09:59 صبح
بعدش يك refresh كن.


Dbgrid1.refresh
or
adotable1.refresh

hessam abjam
جمعه 09 بهمن 1388, 11:13 صبح
refresh كردم نشد!

famarini
جمعه 09 بهمن 1388, 14:58 عصر
ابتدا dbgrid فالسش كن و بعد اينيبلش كن
موفق باشي

مجتبی جوادی
جمعه 09 بهمن 1388, 18:46 عصر
شما باید Table را بسته و بعد باز کنید

Table.Close;
Table.Open;

mah_nikoo
شنبه 10 بهمن 1388, 13:07 عصر
سلام - ببین اینکه شما میگین در صورت استفاده از dbedit و یا همون Dbgrid نباید این مشکل وجود داشته باشه - اما در غیر اینصورت باید بانک اطلاعاتی رو منهای refresh بازو بسته کنید .

zgolestan
سه شنبه 20 بهمن 1388, 02:25 صبح
اگر از adoquery استفاده میکنی، باید اون رو ببندی و دوباره باز کنی.
adoquery.close
adoquery.open

pezhvakco
سه شنبه 20 بهمن 1388, 08:28 صبح
این کار بستگی داره به نوع بانک و نوع ارتباط با اون .
برای حذف از چه روشی استفاده می کنی .
معمولا در ارتباط ها برای افزایش سرعت عمل اطلاعات در رم قرارا میگیرند و تا اجرای دستوری برای خواندن مجدد اطلاعات تغییری نمی کنند، پس باید خودد یه دستور برای خواندن اطلاعات بدی .
یکی از این دستور ها غیر فعال و فعال سازی مجدد ارتباط دهنده با بانک در برنامه است .

hasti-jan
جمعه 20 فروردین 1389, 16:43 عصر
dbgrid1.enabled = false
query1.close
query1.open
dbgrid1.enabled=true
dbgrid1.refresh;

nilidelphi
شنبه 21 فروردین 1389, 10:33 صبح
دوست عزیز شما باید dbgridتون رو دقیقا به همان شیی متصل کنید که ازش داده(رکورد) رو حذف می کنید
مثلا اگه از Table1 برای حذف استفاده می کنید باید dbgridتون هم به همون Table1 باید متصل کنید در غیر اینصورت باید همون رو که دوستلن گفتند انجام بدین یعنی Active رو یبار false کرده و دوباره true کنید.

موفق باشید....