Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dogadjaj DBGrid kod pritiska na kursore

[es] :: Pascal / Delphi / Kylix :: Dogadjaj DBGrid kod pritiska na kursore

[ Pregleda: 3074 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nikola Radojicic
Impol Seval AD Sevojno
Uzice

Član broj: 65384
Poruke: 32
195.178.56.*



Profil

icon Dogadjaj DBGrid kod pritiska na kursore26.09.2005. u 14:25 - pre 225 meseci
Koji dogadjaj nastupa kod DBGrid kada se pomeranje po tabeli vrsi ne pritiskom na misa, nego kada se kroz tabelu pomeramo sa kursorima dole-gore.
Probao sam sa OnCellClick, ali to nije.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore26.09.2005. u 16:48 - pre 225 meseci
Imas OnKeyXXX evente pa izaberi koji ti najvise odgovara. OnKeyDown se generise kada se neki taster pritisne, OnKeyUp kada se taster pusti, a OnKeyPress se aktivira kao kad kucas... znaci ako samo kratko pritisnes pa pustis generisace se jedan event, a ako malo duze drzis pojavice se nekoliko eventa sve dok ne pustis dugme.
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.zaslon-telecom.si.



+1 Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore28.09.2005. u 08:27 - pre 225 meseci
Za bilo kakvo track-ovanje promene trenutnog recorda nemoj da se kacis na evente DBGrida ili bilo koje druge DB komponente, kaci se na event dataseta, znaci u tvom slucaju DBGrid.Dataset.OnScroll, tako ces uhvatiti svaku promenu record pointera.
 
Odgovor na temu

Nikola Radojicic
Impol Seval AD Sevojno
Uzice

Član broj: 65384
Poruke: 32
195.178.56.*



Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore28.09.2005. u 12:46 - pre 225 meseci
Koristim Delphi 6.
Na DataSource se nalaze 3 eventa:
OnDataChange, OnStateChange i OnUpdateData.
U helpu za ove dogadjaje ne nalazim kako bih ovo mogao iskoristiti za ispitivanje pritiska kursorskih tastera.
Takodje, OnKeyDown na DBGrid izbacuje gresku kod koda:
if (Key = VK_UP) then...
Tako da problem i dalje stoji.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore28.09.2005. u 13:05 - pre 225 meseci
Koju gresku ti izbacuje kod tog koda?

Zasto ti je tako bitno da znas kad je taster pritisnut? Ako ti treba koji je trenutni aktivni rec. u tabeli ili query koristis AfterScroll event Query-a ili Tabele, ili OnDataChange DataSet komponente.
 
Odgovor na temu

Nikola Radojicic
Impol Seval AD Sevojno
Uzice

Član broj: 65384
Poruke: 32
195.178.56.*



Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore28.09.2005. u 13:59 - pre 225 meseci
Code:

procedure TfrmReklamacije.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_UP) then
     MessageDlg(Key + ' gore pritisnuto', mtInformation, [mbOK], 0);
end;

[Error] Reklamacije.pas(649): Incompatible types: 'String' and 'Word'

Dakle, na obrascu imam DBEdit za prikaz broja dana reklamacije i DBGrid za prikaz cele tabele reklamacija. Ako je broj dana npr.>45 on treba da pocrveni.
Na DBgrid na OnCellClick sam dodao proveru i sve lepo funkcionise, dakle kada se kursorom misa pomerite na bilo koji zapis, provera funkcionise, ali kada pomeranje na tabeli DBGrid vrsim sa kursorskim tasterima gore-dole, onda ovo nema efekta tj. nema provere.

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore28.09.2005. u 14:30 - pre 225 meseci
Code:
procedure TfrmReklamacije.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_UP) then
     MessageDlg(IntToStr(Key) + ' gore pritisnuto', mtInformation, [mbOK], 0);
end;

Ovaj kod ce da radi.

Zasto ne koristis OnDataChange? Ako je polje koje oznacava datum promenjeno desice se ovaj event i samo provaris trenutnu vrednos polja u kojem je datum i odredis da li treba da se crta crveno ili ne.
 
Odgovor na temu

Nikola Radojicic
Impol Seval AD Sevojno
Uzice

Član broj: 65384
Poruke: 32
195.178.56.*



Profil

icon Re: Dogadjaj DBGrid kod pritiska na kursore29.09.2005. u 07:05 - pre 225 meseci
Hvala Srdjene na tvojoj upornosti, bio si u pravu, prethodni kod sada radi. Prevideo sam IntToStr(Key). Ostaje jos samo da umesto poruke dodam proveru vrednosti i promenu boje.
Vec koristim OnDataChange na DBEdit polju, ali to nije dovoljno, jer pomeranje to tabeli na istom obrascu menja i tekuci zapis, tako da kontrolu vrednosti i boja treba osveziti. To je razlog sto sam insistirao na proveri kursora dole-gore.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Dogadjaj DBGrid kod pritiska na kursore

[ Pregleda: 3074 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.