2016-07-18 17 views
1

Ich habe eine Frage zum Berichts-Generator, da wir ihn für unsere Berichtszwecke verwenden.Berichts-Generator PrintToFile-Typen

In der Druckvorschau befindet sich in der oberen linken Ecke ein Druckersymbol. Wenn Sie darauf klicken, öffnet sich das Dialogfeld Drucken, in dem die Option "In Datei drucken" angezeigt wird. In dieser Option können Sie den Typ (PDF-Datei, XLS-Berichtsdatei usw.) auswählen. Meine Frage ist: "Gibt es eine Möglichkeit, am Lauftyp zu wissen, welchen Typ Benutzer ausgewählt hat?". Mit anderen Worten, ich muss wissen, ob er "PDF File" oder "XLS Report File" oder etwas anderes ausgewählt hat?

Ich habe versucht, die ppReport.DeviceType -Eigenschaft am ppReportBeforePrint -Ereignis abzufangen, aber es zeigt "Drucker" für alle Arten von Export.

Ich habe den Screenshot des Print-Dialogs zum besseren Verständnis angehängt.

Wir verwenden Delphi XE3 + Report Builder 15.03 unter Windows 8.1.

enter image description here

Antwort

0

den Exporttyp trennen Sie den Code unten verwenden:

procedure TForm1.ppReport1BeforePrint(Sender: TObject); 
begin 
    if ppReport1.DeviceType = 'Screen' then 
    // Preview Report on the Screen 
    else if ppReport1.DeviceType = 'Printer' then 
    begin 
    if (ppReport1.FileDevice is TppXLSReportDevice) then 
     // Export to Excel 
    else if (ppReport1.FileDevice is TppPDFDevice) then 
     // Export to PDF 
    end; 
end; 

Um den Drucker-Taste zu erhalten aktiviert auf dem Vorschaubildschirm Verwendung:

ppReport1.AllowPrintToFile := True;