【发布时间】:2012-08-17 13:12:15
【问题描述】:
我有一个应用程序,它有两个选项,打印报告或预览报告。我有以下代码来打印报告-
FCPMS.Reports.rptPanelStudy crtrptPanelStudy = new FCPMS.Reports.rptPanelStudy();
crtrptPanelStudy.FileName = tReportFileName; -(refers to the file location on the computer)
crtrptPanelStudy.DataDefinition.FormulaFields["PANELNUM"].Text = "'5'";
foreach (Table tblTable in crtrptPanelStudy.Database.Tables)
{
tiInfo = tblTable.LogOnInfo;
tiInfo.ConnectionInfo = ciConnection;
tblTable.ApplyLogOnInfo(tiInfo);
}
crtrptPanelStudy.PrintToPrinter(1, false, 0, 0);
这可以正常工作并打印报告。但是我很难找到类似的代码来简单地使用此报告打开打印机预览。有谁知道我怎么能做到这一点?我所需要的只是在没有实际打印报告的情况下弹出打印机预览。任何帮助将不胜感激。
我也尝试使用打印对话框 -
PrintPreviewDialog printpreview = new PrintPreviewDialog();
printpreview.Document = crtrptFlowRangeSummary;
printpreview.ShowDialog();
但是在第二行得到了这个错误
错误 35 无法将类型
FCPMS.Reports.rptFlowRangeSummary隐式转换为System.Drawing.Printing.PrintDocument
【问题讨论】:
-
你看过 PrintPreviewDialog 吗? msdn.microsoft.com/en-us/library/…
-
是的,但它不起作用。有关详细信息,请参阅我编辑的问题。
-
您需要 CrystalReportPrintPreviewForm
-
我将发布一个示例,让我知道它是否适合您。
-
需要看看你是如何实际创建报告实例的,以防其他人想插话并提供一些建议
标签: c# visual-studio-2010 printing crystal-reports-2010