Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ergebnis eines nicht von mir generierten Dialogs abfragen (https://www.delphipraxis.net/125337-ergebnis-eines-nicht-von-mir-generierten-dialogs-abfragen.html)

fragile 4. Dez 2008 11:14


Ergebnis eines nicht von mir generierten Dialogs abfragen
 
Hallo,

ich möchte gern das Ergebnis der Sicherheitsabfrage beim Löschen eines Datensatzes beim Klick auf das Minuszeichen der TDBNavigator-Komponente abfragen - wie greife ich darauf zu ?

Vielen Dank schonmal,
FraGiLe

MacGuyver 5. Dez 2008 16:13

Re: Ergebnis eines nicht von mir generierten Dialogs abfrage
 
Moin auch, :hi:

das geht ein bisschen tricky: Du setzt das Ereigniss BeforeAction und merkst dir dort den aktuellen Primärschlüssel. Dann setzt und das Ereignis BeforeDelete vom Table/Query und merst dort auch den aktuellen Primärschlüssel. Wenn dann das Ereignis OnClick des Navigators auslöst wird und Index = nbDelete ist kannst du ermitteln, ob der Dialog bestätigt wurde oder nicht. Sind die gemerkten Primärschlüssel unterschiedlich, wurde abgelehnt.

Stefan

shmia 5. Dez 2008 16:22

Re: Ergebnis eines nicht von mir generierten Dialogs abfrage
 
Die Sicherheitsabfrage entsteht durch ein TDBGrid dass im Property Options den Wert dgConfirmDelete gesetzt hat.
Am Sinnvollsten wäre jetzt eine eigene Sicherheitsabfrage einzubauen und die Sicherheitsabfrage des Grids abzuschalten:
Delphi-Quellcode:
procedure TForm1.Table1BeforeDelete(Dataset:TDataset);
begin
  // Pseudocode. soll nur das Prinzip zeigen
  if MsgDialog('Wollen sie wirklich diesen tollen Datensatz löschen?', ....) <> mrOK then
    Abort;
end;
Dein Dialog sollte nicht nur OK oder Abbrechnen sondern auch die Antwort "Ja, immer" zulassen.

fragile 8. Dez 2008 07:04

Re: Ergebnis eines nicht von mir generierten Dialogs abfrage
 
Danke euch beiden,

habe es jetzt in der DBNavigator-Komponente im BeforeAction-Ereignis eingebaut und funzt prima !

Gruß aus Amberg,
FraGile


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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