gpt4 book ai didi

asp.net - 参数未传递到 ssrs ServerReport - 使用 ServerReport.Render 将报告渲染为 pdf

转载 作者:行者123 更新时间:2023-12-02 16:54:39 25 4
gpt4 key购买 nike

我的代码在 Web 表单页面上设置 ServerReport 对象,然后将报告从 SSRS 呈现为 pdf。参数和报告名称通过 URL 传递。

Private Sub Page_Load(sender As Object, e As EventArgs)

Dim reportname As String
'Dim parameter(0) As ReportParameter
reportname = Request("reportname").ToString

Dim v As New ReportViewer
v.ProcessingMode = ProcessingMode.Remote
Dim serverreport As New ServerReport
serverreport = v.ServerReport
serverreport.ReportServerUrl = New Uri("http://xxxxxx:80/ReportServer")
serverreport.ReportPath = "/Reports/Aramid/Sheeter/" & reportname

Select Case reportname

Case Is = "NomexBlockCard" 'Or "NomexBlockLabel" Or "NomexInternalLabel"
Dim paramList As New Generic.List(Of ReportParameter)
paramList.Add(New ReportParameter("paramBlock", Request("paramBlock").ToString, False))
serverreport.SetParameters(paramList)

Case Is = "NomexRoutingData"
Dim paramList As New Generic.List(Of ReportParameter)
paramList.Add(New ReportParameter("paramWO", Request("paramWO").ToString, False))
serverreport.SetParameters(paramList)

End Select

serverreport.ReportServerCredentials = New ReportViewerCredentials(user name here, password here, "CORE")
Save(serverreport, "C:\WebReports\" & reportname & ".pdf")

'now print
Response.Redirect("reports.ashx?fileName=" & reportname)

End Sub


Public Sub Save(ByVal sr As ServerReport, ByVal savePath As String)
Try
Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim deviceInfo As String
Dim bytes As Byte()

deviceInfo = "True" '<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"
bytes = sr.Render("PDF", Nothing, mimeType, _
encoding, extension, streamids, warnings)
Using Stream As New FileStream(savePath, FileMode.Create)
Stream.Write(Bytes, 0, Bytes.Length)
Stream.Close()
End Using

Catch ex As Exception


End Try
End Sub

报表呈现并保存为 pdf,但参数值似乎并未在报表中使用。

我已经一遍又一遍地确认 paramBlock 中有一个值。

我不知道自己做错了什么。

我是不是错过了什么步骤?

瑞恩

最佳答案

在呈现并保存您的报告时,我假设凭据已正确设置。

您可以使用ServerReport.GetParameters 在保存报告之前检查参数(及其值/属性)的实际情况。

另外,请确保您设置了每个 parameter报告所要求的(即使是隐藏的或内部的),并且每个参数值都在 allowed values 范围内参数的值(如果设置了限制)。

如果问题不在于传递参数,您可能需要查看报表本身以及它如何处理其参数。

关于asp.net - 参数未传递到 ssrs ServerReport - 使用 ServerReport.Render 将报告渲染为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com