将多个Crystal报表导出到ASP.NET
我想在单击导出按钮时导出两个不同的报告。问题是程序只启动一次,我只打印一份报告。我做错什么了吗?我认为这与HTTPResponse有关,但我不确定 这是我的密码:将多个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
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文件的文件,然后将其发送回客户端