FastReport Tipps und Tricks: Dialoge im Report
1 Dialoge im Report
1.1 Ausführen des Reports per Kennzeichen verhindern
Wenn man das Ausführen (Vorschau, Drucken usw.) eines Reports über ein Kennzeichen verhindern will, kann man dazu in den Report ein Dialog-Fenster einbauen, das unter bestimmten Bedingungen angezeigt wird und die Ausführung des verhindert.
- Beispiel
- Man verwendet das Auftragskennzeichen 8 ("Ladeliste freigegeben"), um das Drucken einer Ladeliste zu verhindern. Wenn dort "Nein" ausgewählt wird, darf die Ladeliste nicht gedruckt werden.
Dazu fügt man im Designer mit dem Menü Datei ⇒ einen neuen Dialog ein. In diesen Dialog fügt man ein Label (Text) und einen Button ein, wie in diesem Beispiel:
- Stellen Sie die Schriftart ("Font") und die Farbe ("Color") der Objekte nach Ihren Ansprüchen ein!
- Die Eigenschaft ModalResult" ("Ergebnis des Dialogs") des Buttons stellen Sie auf "mrCancel" (Abbruch).
Wenn Sie nun den Report ausführen, wird der Dialog angezeigt und der Report nicht ausgeführt!!!
So wollen wird das natürlich nicht haben! Der Dialog soll ja nur angezeigt werden, wenn das Kennzeichen 8 nicht auf "Nein" steht.
Deshalb suchen Sie im Report-Baum den Report "Report" aus.
- Den Report-Baum können Sie über das Menü Ansicht ⇒ Symbolleisten einschalten.
Klicken Sie nun im Objektinspektor auf Ereignisse und dort doppelklicken Sie auf frxReport1OnRunDialogs.
- Den Objektinspektor können Sie über das Menü Ansicht ⇒ Symbolleisten einschalten.
Geben Sie nun diesen Code ein:
procedure frxReport1OnRunDialogs(var Result: Boolean); begin if <AuftragsKopf."KENNZ8"> = 'Nein' then Result := DialogPage1.ShowModal = mrOK else Result := True; end;
Die Variable Result ist das Ergebnis der Abfrage:
- Wird sie auf True gestellt, wird der Report ausgeführt.
- Wird sie auf False gestellt, wird der Report nicht ausgeführt.
Wenn das Kennzeichen auf "Nein" steht, wird dieser Dialog angezeigt: