FastReport Tipps und Tricks: Dialoge im Report

Aus GEVITAS
Version vom 16. August 2017, 22:34 Uhr von Gevitas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ == Dialoge im Report == === Ausführen des Reports per Kennzeichen verhindern === Wenn man das Ausführen (Vorschau, Drucken usw.) eines Reports über ein K…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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:


FastReport TippsUndTrick Dialog 01.png


  • 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:

FastReport TippsUndTrick Dialog 02.png



2 Links