![]() |
DBNavigator Refresh Ereignis überschreiben und löschen
Guten Abend,
ich verwende einen DBNavigator und möchte den Button Refresh mit meinem Code überschreiben. Als erstes habe ich eine BeforeAction erstellt und dort meinen SourceCode geschrieben. Dumm an der Sache ist, das die Komponente Standartmäßig bei einem Refresh wirklich auch einen DataSource.DataSet.Refresh macht .. was bei mir dazu führt, das es eine Exception auslöst. Nun reicht mir aber auch ein Requery() von meiner AdoQuery und dazu möchte ich nun den Button der DBNavigator Schaltleiste verwenden OHNE das er anschliessend dann noch das Refresh macht. Wie bitte kann ich nun das Ereignis zum auslösen des Refresh, das ich vorher ja schon gemacht habe mit der Requery(), aus der Liste löschen. Also das das Ereignis nicht ausgeführt wird wozu es eigentlich anfänglich gedacht war? |
Re: DBNavigator Refresh Ereignis überschreiben und löschen
Hi,
das geht IMHO so mit dem TdbNavigator nicht. Der ClickHandler löst BtnClick aus und dort wird unweigerlich das Refresh ausgelöst. Jetzt kan man zwar von TDBnavigator ableiten und z.B. die virtuelle Methode BtnClick überschreiben. Aber da gehen die Probleme schon los. In dieser Methode wird das Event onNavClick ausgelöst - ein inherited kann ich nicht verwenden - ruft ja wieder Refresh auf :( Das ist dann wahrscheinlich auch der Grund, warum beim Proggen solcher Komponenten in der Regel von vorn anfangen und auf eine Ableitung von TdbNavigator verzichtet wird. Cu, Frank |
Re: DBNavigator Refresh Ereignis überschreiben und löschen
Guten Morgen Frank,
stimmt alles was Du sagst :( Aber ich habe das nun so gelöst: In der DBNavigatorBeforeAction Methode
Code:
Das Abort macht eine Stille Exception und das DataSource.DataSet.Refresh wird nicht aufgerufen :)if button = nbRefresh then begin versandQuery.Requery(); abort; end; Einen schönen Tag, Dieter |
Re: DBNavigator Refresh Ereignis überschreiben und löschen
Hi Dieter,
ja - abort - diese Möglichkeit vergesse ich manchmal... :| Frank |
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Windows API / MS.NET Framework API" nach "VCL / WinForms / Controls" verschoben.
Es geht um die VCL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz