【问题标题】:Pass Parameter to Crystal Report in asp.net在 asp.net 中将参数传递给 Crystal Report
【发布时间】:2014-07-19 18:57:48
【问题描述】:

我试图将参数从我的代码后面传递到我的水晶报告中,但我不断收到错误

加载报告失败

我使用数据集将参数传递给水晶报表。我的数据集有 1 列(Test1)

这是我在代码后面的代码

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Try
        Dim path As String = Server.MapPath("~\Reports\CrystalReportTest.rpt")
        Dim rptDoc As ReportDocument = New ReportDocument
        rptDoc.SetDatabaseLogon("test", "test", "TestDB", "JulianPC", True)
        Dim a As String = "10001"
        Dim b As String = "10003"
        rptDoc.Load(path)
        rptDoc.FileName = "CrystalReportTest.rpt"
        rptDoc.SetParameterValue("Test1", a)
        CrystalReportViewer1.ReportSource = rptDoc
        CrystalReportViewer1.Visible = True
    Catch ex As Exception

    End Try
End Sub

这是我的 aspx 代码

    <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
        <Report FileName="CrystalReportTest.rpt"></Report>
    </CR:CrystalReportSource>
    <table>
        <tr>
            <td>
                 <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" ReportSourceID="CrystalReportSource1" AutoDataBind="True" HasPrintButton="True" HasRefreshButton="True" ReuseParameterValuesOnRefresh="True" Height="50px" Width="350px"/>
            </td>
        </tr>
    </table>

谁能告诉我如何解决这个问题?

提前感谢您的帮助

【问题讨论】:

  • 有什么帮助吗?急需。我试过用谷歌搜索,但没有运气

标签: asp.net vb.net crystal-reports


【解决方案1】:

你有没有试过这样传递参数

CrystalReportSource1.ReportDocument.SetParameterValue("parameter_name_as_String", "Value_as_String")

【讨论】:

    【解决方案2】:

    试试:

    Imports CrystalDecisions
    Imports CrystalDecisions.CrystalReports
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    
    Dim RptDoc As New ReportDocument()
    Dim crConnectionInfo As New ConnectionInfo
    Dim CrTables As Tables
    Dim CrTable As Table
    Dim crtableLogoninfo As New TableLogOnInfo
    
    RptDoc.Load(Server.MapPath(Request.ApplicationPath + "/Reports/myReport.rpt"))
    
    With crConnectionInfo
        .ServerName = "myServer"
        .DatabaseName = "myDatabase"
        .UserID = "myUserID"
        .Password = "myPassword"
    End With
    
    CrTables = RptDoc.Database.Tables
    
    For Each CrTable In CrTables
        crtableLogoninfo = CrTable.LogOnInfo
        crtableLogoninfo.ConnectionInfo = crConnectionInfo
        CrTable.ApplyLogOnInfo(crtableLogoninfo)
    Next 
    
    RptDoc.SetDatabaseLogon(crConnectionInfo.UserID, crConnectionInfo.Password, crConnectionInfo.ServerName, crConnectionInfo.ServerName)
    
    RptDoc.SetParameterValue("@myParameter", myValue)
    
    Dim stream As New BinaryReader(RptDoc.ExportToStream(CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat))
    
    Response.ClearContent()
    Response.ClearHeaders()
    Response.ContentType = "application/pdf"
    Response.AddHeader("content-disposition", Convert.ToString("attachment; filename=") & myDownloadAsFilename)
    Response.AddHeader("content-length", stream.BaseStream.Length.ToString())
    Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length)))
    Response.Flush()
    Response.Close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 2013-11-19
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多