2012-11-14 25 views
0

我有两个不同的SAP Crystal Reports,一个有子报表,另一个没有。无论出于何种原因,简单的CR打印到打印机,PDF和查看器都很好。包含子报表的CR仅出于任何原因打印到PDF。这让我相信报告本身并没有天生的错误,否则当我保存为PDF格式时就不会起作用。SAP子报表将打印为PDF,但不打印到查看器或打印机

的我的代码摘要是下面(在VB):

  Select Case PrintMedia 
      Case PrintType.Printer 
       crOrderPrintout.PrintToPrinter(1, False, 0, 0) 
      Case PrintType.Viewer 
       Dim frmReportViewer As New frmReportViewer 
       frmReportViewer.CrystalReportViewer1.ReportSource = crOrderPrintout 
       frmReportViewer.ShowDialog() 
      Case PrintType.File 
       crOrderPrintout.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, String.Format("C:\Documents and Settings\{0}\Desktop\{1}.pdf", mdlSharedVars.StripDomainFromFullUsername(WindowsIdentity.GetCurrent.Name), ReceiptID)) 
      Case Else 
       crOrderPrintout.PrintToPrinter(1, False, 0, 0) 
     End Select 

对于澄清PrintMedia是一个变量,其类型是我的,打印类型的自定义枚举。

当我试图在查看器中显示带有子报表的报表或打印到打印机时,我得到一个“索引超出范围,必须是非负数,小于集合的大小。” 参数:索引。 “错误。然而,简单的非子报告CR工作得很好,无论PrintMedia如何。

不要以为任何人有任何想法??

回答

0

您可以在现成的Crystal查看器或Crystal Reports本身中尝试报告吗?它工作吗?

也许尝试在页面设置设置打印机选项为“无打印机(优化屏幕显示)”

1

与此战斗的时间比我想到的还要后,原来有一个问题之一水晶报告中的字段显示字符串。基本上,我从头开始编写报告,逐个添加,试图找出错误。