Avatar billede Greenland Nybegynder
19. maj 2011 - 14:32 Der er 3 kommentarer og
1 løsning

dbgrid onkeydown og keypress

Hej,

Jeg har en 'lille' udfordring. I en dbgrid ønsker jeg at man kan skrive et tal og regne på tallet når brugeren taster pil ned.
Mit problem er at hvis man skriver et tal i en celle og trykker pil ned, så fanger jeg ikke tallet som lige er skrevet, med jeg får tallet som allerede er gemt.
Jeg prøvede derfor i min dbgridkeydown at bruge følgende:
if key = 40 Then
Begin
k:=#13;
DBGrid1KeyPress(Sender,k);
end;
.. og på den måde provokere et KeyPress når piltasten blev trykket.
et KeyPress giver mig nemlig det korrekte nylige skrevne tal, men desværre hjælper dette ikke når man bruger piltasterne.

Kan man override dette på nogen måde, således at keydown er det samme som keypress ?


mvh

greenland
Avatar billede hrc Mester
19. maj 2011 - 15:47 #1
Hvis det er et DBGrid og du har koblet det på datasættet, så burde du kunne fange det opdaterede tal via datasættes OnPostRecord event. Alternativt kan du måske lave kalkulerede felter også behandles i en event i datasættet. Det lyder helt banalt og ikke umiddelbart noget man behøver at gafle tastetryk for at håndtere.
Avatar billede hrc Mester
19. maj 2011 - 15:47 #2
OnAfterPostRecord hedder eventen vist.
Avatar billede Greenland Nybegynder
22. maj 2011 - 23:49 #3
Tak,
jeg smed koden ind i afterpost på min adoquery og det virkede

mvh

greenland
Avatar billede hrc Mester
23. maj 2011 - 08:55 #4
Må jeg også svare? :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester