Crystal reports SAP子报表将打印到PDF,但不会打印到查看器或打印机

Crystal reports SAP子报表将打印到PDF,但不会打印到查看器或打印机,crystal-reports,reportviewer,Crystal Reports,Reportviewer,我有两个不同的SAP Crystal报告,一个有子报告,另一个没有。无论出于何种原因,简单的CR打印到打印机、PDF和查看器都很好。无论出于何种原因,带有子报告的CR仅打印为PDF。这让我相信报告本身并没有什么固有的问题,否则当我保存到PDF时它就不会工作了 下面是我的代码片段(在VB中): 为了澄清,PrintMedia是一个变量,其类型是我的自定义枚举PrintType 当我尝试在查看器中显示包含子报表的报表或打印到打印机时,我得到一个“索引超出范围。必须为非负数且小于集合的大小”。 参数:

我有两个不同的SAP Crystal报告,一个有子报告,另一个没有。无论出于何种原因,简单的CR打印到打印机、PDF和查看器都很好。无论出于何种原因,带有子报告的CR仅打印为PDF。这让我相信报告本身并没有什么固有的问题,否则当我保存到PDF时它就不会工作了

下面是我的代码片段(在VB中):

为了澄清,PrintMedia是一个变量,其类型是我的自定义枚举PrintType

当我尝试在查看器中显示包含子报表的报表或打印到打印机时,我得到一个“索引超出范围。必须为非负数且小于集合的大小”。 参数:index.“错误。然而,简单的、非子报表的CR无论使用何种打印媒体都可以正常工作


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

你能在现成的Crystal viewer或Crystal Reports中尝试一下该报告吗?它有用吗


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

在与此抗争了比我想象的时间更长的时间后,结果发现crystal report显示字符串中的一个字段出现了问题。基本上,我从零开始编写报告,一块一块地添加,试图隔离错误

            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