Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi afterscroll nach afteropen ignorieren (https://www.delphipraxis.net/68540-afterscroll-nach-afteropen-ignorieren.html)

sancho1980 1. Mai 2006 12:25

Datenbank: firebird • Zugriff über: ibx, ibexpert

afterscroll nach afteropen ignorieren
 
hallo
ich hab wieder mal ein problem
die komponente tdataset löst nach dem öffnen unter anderem afteropen und afterscroll aus
nach beiden ereigniss geschieht in meinem programm was
dabei stellt sich aber folgendes problem:
afterscroll wird auch immer nach dem öffnen des datensatzes ausgelöst
ich will aber, dass afterscroll nach öffnen des datensatzes ignoriert wird
ansonsten soll da was ausgeführt werden, nur eben nicht nach dem afterscroll das nach afteropen kommt
geht das irgendwie?
danke,
martin

Phistev 1. Mai 2006 12:45

Re: afterscroll nach afteropen ignorieren
 
Im Formular oder global eine boolsche Variable (z.B. after_open: boolean) deklarieren, die in AfterOpen auf true setzen und in AfterScroll
Delphi-Quellcode:
if after_open then after_open:= false
else begin
  //Das was ausgeführt werden soll
end;
schreiben wäre eine Möglichkeit

marabu 1. Mai 2006 12:46

Re: afterscroll nach afteropen ignorieren
 
Hallo Martin,

technisch kannst du das auch so lösen, indem du den event handler für AfterScroll() erst im event-handler für BeforeScroll() zuweist:

Delphi-Quellcode:
procedure TDataForm.TableBeforeScroll(DataSet: TDataSet);
begin
  DataSet.AfterScroll := TableAfterScroll;
end;
Aber ob dein Konzept wirklich gut ist bleibt dahin gestellt.

Grüße vom marabu

sancho1980 1. Mai 2006 13:01

Re: afterscroll nach afteropen ignorieren
 
ja danke
dass ich da net selber drauf komme :wall:

Zitat:

Aber ob dein Konzept wirklich gut ist bleibt dahin gestellt.
Na schau, was ich vorhab ist folgendes:
eine sql-datenbank, die in einem dbgrid immer genau 20 datensätze darstellt
scrollt der benutzer auf den ersten bzw. letzten datensatz, dann sollen automatisch die vorhergehenden 20 bzw. die folgenden 20 geholt werden.
deswegen afterscroll
das ganze würde aber in einer endlosschleife enden, denn nach afteropen bin ich ja erstmal auf dem ersten datensatz und wenn jetz noch obendrein afterscroll ausgelöst wird, usw...
du verstehst was ich meine?
grüße,
martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz