Autor Beitrag
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 16.06.06 14:33 
...scheiden.

Ahoi.

Gibt es eine Möglichkeit im OnScroll-Ereignis
der ZEOS Query-Komponente herauszufinden, ob
der Anwender den Finger auf der CursorDown-Taste
stehen lässt und somit fix durch die Tabelle fliegt
oder ob er einzelne auf die CursorDown-Taste klickert
um sich jeden Datensatz einzeln anzuschauen?

Hintergrund ist folgender: Im OnScroll-Ereignis
werden Abfragen an andere Datenbanken und andere
"zeitintensive" Algorithmen durchgeführt. Das muss
aber eigentlich nur dann sein, wenn der Anweder
tatsächlich jeden Datensatz genau anschaut.
Wenn der Benutzer jedoch mit einem direkten Ziel vor
Augen eine Weile auf CursorDown drückt, müssen natürlich
erst am Ende des Scrollvorgangs die Daten bei OnScroll
aktualisiert werden.

Ich hoffe das kam einigermaßen klar rüber :)

Danke euch im Voraus

ki-
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 16.06.06 14:35 
Ich habe das über einen Timer gelöst. Bei jedem Datensatzwechsel wird der Timer zurück gesetzt, damit das OnTimer-Event nicht ausgelöst wird. Bleibt der Benutzer für einige Zeit auf einem Datensatz stehen, wird das Timer-Event ausgelöst. Und dann greife ich auf die abhängigen Daten zu.
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 16.06.06 15:21 
hm - die IDee ist absolut gut. Danke. Kannst du mal nur ansatzweise angeben, wie dann ungefähr die Prozeduren auszusehen haben? Ich bastel grad dran rum, kriegs aber nicht hin. Denkfehler?! Hm...

Ich müsste den Zähler des Timers auf 0 setzen könne... *grübel*


//EDIT

eine spontant angesetzte Suchaktion brachte mich auf den Weg der Erleuchtung - deaktivieren / aktivieren setzt den Timer zurück.

ERgo: Es funktioniert PRÄCHTIG :)

DAnke!