我对Report Builder有疑问,因为我们将其用于报告目的。
在“打印预览”屏幕中,左上角有一个打印机图标。单击它将打开“打印”对话框,其中显示“打印到文件”选项。在该选项中,您可以选择类型(PDF文件,XLS报告文件等)。我的问题是:“在运行类型中是否有可能知道Type用户选择了什么?”。换句话说,我需要知道他是选择“PDF文件”还是“XLS报告文件”还是其他什么?
我试图在ppReportBeforePrint事件中捕获ppReport.DeviceType属性,但它显示所有类型导出的“打印机”。
我附上了“打印”对话框的屏幕截图,以便更好地理解。
我们在Windows 8.1下使用Delphi XE3 + Report Builder 15.03。
答案 0 :(得分:0)
要分隔导出类型,您可以使用以下代码:
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;
要在预览屏幕上启用打印机按钮,请使用:
ppReport1.AllowPrintToFile := True;