2009-09-18 172 views
1

我使用Crystal Report Basic为我的应用程序创建报告,我的问题是当我在报告查看器中查看报告并单击打印(不预览)时,它会产生不同的输出(页面保证金不同),因为我预览并打印相同的报告。Crystal Report Viewer打印和预览然后打印产生不同的输出

我想知道如何解决这个问题?

+0

你是什么意思 - 不同的输出?请检查报告文件名。 – adatapost 2009-09-18 04:06:09

+0

是的,它会产生不同的保证金。 – Anonymous 2009-09-18 04:55:44

回答

0

我发现了这一点: 当您将报表打印到实际的打印机时,水晶报表查看器将重置为默认页边距。 为了抵消这个,我在我的代码中做了这个。它手动设置边距。将它们设置为你自己需要的东西。 的“YourReportDocument”是水晶报表文件我实例化,并设置为的CrystalReportViewer reportsource

CrystalDecisions.Shared.PageMargins margin = new CrystalDecisions.Shared.PageMargins(); 
margin.leftMargin = 0; 
margin.rightMargin = 0; 
margin.topMargin = 0; 
margin.bottomMargin = 292; 
yourReportDocument.PrintOptions.ApplyPageMargins(margin); 

如果在子报表,你可能需要与边缘打开报告,并为那些子报表和修补匠,因为我不确定上面的代码是否会使子报表发生更改。