Dbgrid mouse whell aşağı yukarı gezinme - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Dbgrid mouse whell aşağı yukarı gezinme (/showthread.php?tid=2684) |
Dbgrid mouse whell aşağı yukarı gezinme - cinarbil - 29-09-2018 İyi günler Kullanıcı kolaylığı olsun diye Bilgi_doldur procedure aşağıdaki 5 olay ile çağırıyorum. gridcellclik , keyup ve keydown olaylarında editlere griddeki seçili bilgiler sorunsuz geliyor. mousewhellup ve down da ise bir önceki veya bir sonraki kayıt geliyor. mouse orta tekerleğini hızlı veya yavaş çevirme sonucu değiştirmiyor. Bu konuda bilgi verebilir misiniz. sorunu windows video kaydetme ile kaydettim ama 20 saniye 10 mb tutuyor. procedure Tmodel_form.model_gridCellClick(Column: TColumn); begin bilgi_doldur; end; procedure Tmodel_form.model_gridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin bilgi_doldur; end; procedure Tmodel_form.model_gridKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin bilgi_doldur; end; procedure Tmodel_form.model_gridMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin bilgi_doldur; end; procedure Tmodel_form.model_gridMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin bilgi_doldur; end; Procedure Tmodel_form.bilgi_doldur; begin model_edit_temizle; // editlerin içini boşalt model_data_al; // model_sorgu_dateset değerlerini editlere yaz edit_enabled_false; // buttonları sadece gezinme olarak false/true yaz kayit_durumu; // ilk kayıt veya son kayıtta ise buttonları ayarla end; procedure Tmodel_form.model_data_al; begin son_kayit:=data_form.model_sorgu.Recno; edit_modelerpkodu.Text := trim(data_form.model_sorgu.FieldByName('MODEL_erp_KODU').Text); edit_modelstokkodu.Text := trim(data_form.model_sorgu.FieldByName('MODEL_STOK_KODU').Text); edit_modeladi.Text := trim(data_form.model_sorgu.FieldByName('MODEL_ADI').Text); edit_modelgrubu.Text := trim(data_form.model_sorgu.FieldByName('MODEL_GRUBU').Text); edit_modelozelkod.Text := trim(data_form.model_sorgu.FieldByName('MODEL_OZ').Text); edit_modelmuhasebekodu.Text := trim(data_form.model_sorgu.FieldByName('MODEL_MUHASEBE_KODU').Text); dosya_ad:= trim(data_form.model_sorgu.FieldByName('MODEL_RESIM').text); // model resmi klasörde yoksa if not FileExists(cal_yol + 'data\rsm\model\'+dosya_ad) then dosya_ad := 'resimyok.jpg'; modelresmi_image.Picture.LoadFromFile(cal_yol + 'data\rsm\model\'+dosya_ad); end; Dbgrid mouse whell aşağı yukarı gezinme - ahmet_sinav - 29-09-2018 OnFocusedRecordChanged gibi bir event olması cxgrid'te. Cxgrid db bound ise gride bağlı olan Query'i ilk open yaparken disableControls yapıp opendan sonra enableControls yaparsın. Dbgrid mouse whell aşağı yukarı gezinme - mrmarman - 29-09-2018 Şöyle bir çözüm önerebilirim. Dikkat ettiyseniz, tekeri aşağı çevirdiğinizde (WheelDown olunca) bir sonraki kaydı gösteriyor, tekeri yukarı çevirdiğinizde (WheelUp olunca) da bir önceki kaydı. Size bunu sapmayı kendi lehinize düzeltmek, dizginleri elinize almak kalıyor. Yani her WheelUp deyişte sistemin değil sizin adım adım yukarı sıçramanız, WheelDown olunca sistemin buna tepkisiz kalmasını sağlayıp, sizin bir adım aşağı sıçramanız gerekiyor. Girişte Handled := True dediğinizde sistem gereği yapılmış kabul eder ve hareket etmez. Bu hareketi siz yaparak işi ele almış oluyorsunuz. procedure Tmodel_form.model_gridMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin Handled := True; data_form.model_sorgu.Next; bilgi_doldur; end; procedure Tmodel_form.model_gridMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin Handled := True; data_form.model_sorgu.Prior; bilgi_doldur; end; Cvp: Dbgrid mouse whell aşağı yukarı gezinme - cinarbil - 29-09-2018 (29-09-2018, Saat: 14:16)ahmet_sinav Adlı Kullanıcıdan Alıntı: OnFocusedRecordChanged gibi bir event olması cxgrid'te. Cxgrid db bound ise gride bağlı olan Query'i ilk open yaparken disableControls yapıp opendan sonra enableControls yaparsın. Ahmet bey ilginiz için teşekkür ederim. öncelikle Standart TDBgrid kullanıyorum. dbgrid e ait 3 olayda normal çalışması birbirinin benzeri olan MouseWhellup ve down olayında sorun olması bu kontrolun grid üzerinde farklı bir etkisi olmasından kaynaklanmalı diye düşünüyorum. acizane query den olsa diğer 3 olayda sonuç hatalı olmalıydı (29-09-2018, Saat: 14:27)mrmarman Adlı Kullanıcıdan Alıntı: Şöyle bir çözüm önerebilirim. Ben ahmet beye cevap yazarken siz mesaj yazmışsınız. Teşekkür ederim. Deneyim neticesini yazarım. sayın mrmarman Allah c.c razı olsun. öneriniz için teşekkür ederim. Tam istediğim gibi oldu. Handled := True; data_form.model_sorgu.Prior; bilgi_doldur; bu benim bir hatam mı yoksa tüm Mousewhell olaylarını bu şekildemi kullanmalıyız. Dbgrid mouse whell aşağı yukarı gezinme - narkotik - 30-09-2018 Query'nin afterscroll olayı işinizi çözmez mi? Cvp: Dbgrid mouse whell aşağı yukarı gezinme - Bay_Y - 02-10-2018 (29-09-2018, Saat: 14:27)mrmarman Adlı Kullanıcıdan Alıntı: Şöyle bir çözüm önerebilirim. her zamanki gibi imdada yetişmişsiniz . Cvp: Dbgrid mouse whell aşağı yukarı gezinme - cinarbil - 02-10-2018 hemde ilaç gibi yardımcı oldu Allah c.c razı olsun. |