PDA

View Full Version : غیر فعال کردن کلید های جهت بر روی dbgrid



sdhamed
سه شنبه 15 اردیبهشت 1394, 07:54 صبح
سلام خسته نباشید
وقتی در رویداد DBGrid1KeyDown و DBGrid1KeyUp و DBGrid1KeyPress دستوری جهت تشخیص کلید فشرده شده نوشته میشه اول رویداد اتفاق میوفته بعددستور تشخیص داده میشه مثلا دستور زیر:


if Key=40 then
Edit1.SetFocus;

40 همان کد اسکی فلش پایین در کلید جهت هست .وقتی بر روی دبی گرید کلید جهت پایین زده شود اول یک به ردیف بعد و بعد به Edit1 فوکوس داده می شود.
چجوری میشه یک کلید کیبورد رو بر روی یک شی به صورت کامل از کار انداخت؟؟
این مورد بیشتر جهت ذخیره نشدن تغیرات با رفتن به ردیف بعد لازمه از طریق کلید های جهت.
یه مورد دیگه هیچ راهی نیست که در DBGrid تا وقتی کلید ذخیره زده نشه تغییرات بر روی دیتا اعمال نشه؟خیلی سرچ کردم ولی هیچ موردی پیدا نکردم:گریه:
یه مورد دیگه اگر کامپوننت
StringGrid برای دلفی 7 کسی داره لینک دانلودشو برام بزاره.
ممنون

pezhvakco
سه شنبه 15 اردیبهشت 1394, 13:05 عصر
چجوری میشه یک کلید کیبورد رو بر روی یک شی به صورت کامل از کار انداخت؟؟

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 40 then
key := 0;
end;


یه مورد دیگه هیچ راهی نیست که در DBGrid تا وقتی کلید ذخیره زده نشه تغییرات بر روی دیتا اعمال نشه؟
شما نباید با داده های اصلی کار کنید.
باید یه جور جدول موقت (روش های زیادی است : TempTable, ClientDataSet و...) باشه و هنگام انجام شدن کار و فشردن کلید ذخیره داده ها در جدول اصلی ذخیره یا بروز بشه.


StringGrid برای دلفی 7 کسی داره لینک دانلودشو برام بزاره.
در مجموعه ابزارهای زیادی است مانند Raize Components

=> بهتره برای هر پرسش یا درخواست یک تایپیک جداگانه بزنید .