首页 > 解决方案 > Visual Studio 2019 和 Winforms 的 Crystal 报告太慢

问题描述

我有一个表单,可以打印使用 Crystal Report (13.030) 和 Visual Studio 2019 创建的一些报表。每个报表的打印大约需要 5/8 秒。我已经尝试了在谷歌上找到的所有建议,但没有解决任何问题。由于报告大约 10m,因此客户必须等待很长时间才能继续。

我读过这是一个已知问题,但我不知道如何解决它。我一直在考虑在 BackgroundWorker 中进行打印,但我不确定这是否是个好主意。

我检查了报告框中没有打印机。这是我的一份报告,它们都非常相似。我错了吗?

ReportDocument myReport = new ReportDocument();                           
myReport.Load("myreport.rpt");
PrintLayoutSettings PrintLayout = new PrintLayoutSettings();
PrinterSettings printerSettings = new PrinterSettings();
printerSettings.PrinterName = "PDF Creator"; // Any;
PageSettings pSettings = new PageSettings(printerSettings);

myReport.SetParameterValue("var1", "123"); 
myReport.SetParameterValue("var2", "ABC"); 
myReport.SetParameterValue("var3", "DEF"); 

myReport.PrintToPrinter(printerSettings, pSettings, false, PrintLayout);

myReport.Close();

标签: c#winformscrystal-reports

解决方案


我将打印件移到了尽可能多的 BackgroundWorkers 上,显然一切都非常快,即使我不知道这是否是最好的解决方案。


推荐阅读