Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将多个Crystal报表导出到ASP.NET_Asp.net_Vb.net_Pdf_Crystal Reports_Export - Fatal编程技术网

将多个Crystal报表导出到ASP.NET

将多个Crystal报表导出到ASP.NET,asp.net,vb.net,pdf,crystal-reports,export,Asp.net,Vb.net,Pdf,Crystal Reports,Export,我想在单击导出按钮时导出两个不同的报告。问题是程序只启动一次,我只打印一份报告。我做错什么了吗?我认为这与HTTPResponse有关,但我不确定 这是我的密码: Dim badgeSize As Integer = 0 'Drop Down selection Dim badgeData As New DataSet 'Visitor Badge Data Dim badgeEmployeeData As New DataSet 'Employee Badge Data

我想在单击导出按钮时导出两个不同的报告。问题是程序只启动一次,我只打印一份报告。我做错什么了吗?我认为这与HTTPResponse有关,但我不确定

这是我的密码:

Dim badgeSize As Integer = 0 'Drop Down selection

    Dim badgeData As New DataSet 'Visitor Badge Data
    Dim badgeEmployeeData As New DataSet 'Employee Badge Data
    Dim badgeTotals As Integer = 0 'Totals for both

    badgeSize = ddlBadgeSize.SelectedValue

    ' Get Visitor Data
    badgeData = _DatabaseAccess.GetProjectReportData(sessionInfo.myEventID, sessionInfo.EventCreator)
    ' Get Employee Data
    badgeEmployeeData = _DatabaseAccess.GetProjectReportEmployeeData(sessionInfo.myEventID, sessionInfo.EventCreator)
    'Obtain Totals
    badgeTotals = badgeData.Tables(0).Rows.Count + badgeEmployeeData.Tables(0).Rows.Count

    If badgeTotals = 0 Then
        ShowMessage("There are no badges to print.")
        Exit Sub
    End If

    If badgeSize.Equals(0) Then 'Small 

        If badgeEmployeeData.Tables(0).Rows.Count > 0 Then
            If badgeEmployeeData.Tables(0).Rows.Count >= 6 Then
                PrintProjectBadges(badgeEmployeeData, "Employee", badgeSize)
            Else
                PrintStandardDymo(badgeEmployeeData, "Employee", 1)
            End If
        End If

        If badgeData.Tables(0).Rows.Count > 0 Then
            If badgeData.Tables(0).Rows.Count >= 6 Then
                PrintProjectBadges(badgeData, "Visitor", badgeSize)
            Else
                PrintStandardDymo(badgeData, "Visitor", 1)
            End If
        End If
   else
     'do somethign else
   endif
报告代码:

Private Sub PrintProjectBadges(ByVal theData As DataSet, ByVal badgeType As String, ByVal badgeSize As Integer)
        Dim ourReport As New ReportDocument
        Dim crConnectionInfo As New ConnectionInfo(SetCrystalConnection)

        If badgeSize = 0 Then
            Try
                If badgeType = "Visitor" Then
                    ourReport.Load(Server.MapPath("SmallProjectBadge.rpt"), OpenReportMethod.OpenReportByDefault) 'LIVE SERVER USE
                Else
                    ourReport.Load(Server.MapPath("SmallProjectEmployeeBadge.rpt"), OpenReportMethod.OpenReportByDefault) 'LIVE SERVER USE
                End If

            Catch ex As Exception
                Dim TraceList As New ArrayList
                TraceList.Add("DBLog")
                DatabaseAccess.WriteToErrorLog("Visitor Registration", "Printing Project Badges", ex.Message, TraceEventType.Information, 1, TraceList)
                Exit Sub
            End Try

            ourReport.SetDataSource(theData.Tables("Project"))
        Else
            'Do somethign else...
        End If

        Response.Buffer = True
        'Clear the response content and headers
        Response.ClearContent()
        Response.ClearHeaders()

        SetLogon(ourReport, crConnectionInfo)

        'Export the Report to Response stream in PDF format and file name Customers
        ourReport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "Visitor_Badges")
        Response.End()
        'Response.Close()


    End Sub

任何帮助都将不胜感激

响应一次只能发送一个文件-要同时导出这两个文件,您需要将它们导出到本地磁盘,并将它们合并成类似ZIP文件的文件,然后将其发送回客户端