VB.Net 报告查看器参数

VB.Net Report viewer parameters

我向 report.rdlc 添加了一个名为 "ReportTitle" 的参数。它是文本并允许空白值和空值。我尝试了不同的方法来传递参数值无济于事。这是我到目前为止尝试过的:

  Dim parReportParam1 As New ReportParameter("ReportTitle", "THIS IS MY TITLE")
  ReportViewer1.LocalReport.SetParameters(New ReportParameter() {parReportParam1})

无效!

    Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter
    params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ReportTitle", "THIS IS MY TITLE")
    ReportViewer1.LocalReport.SetParameters(params)

没有!

    Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter
    params(0) = New Microsoft.Reporting.WinForms.ReportParameter
    params(0).Name = "ReportTitle"
    params(0).Values.Add("THIS IS MY TITLE")
    ReportViewer1.LocalReport.SetParameters(params)

不!

我不知道该尝试什么了。我是否必须在报告查看器或设计器上设置某些内容以允许参数值。非常感谢任何帮助。

这对我有用:

    Dim paramStoreNo As New ReportParameter("StoreNo", iSTORE_NO)
    Dim reportparameters() As ReportParameter = {paramStoreNo}
    InventoryTableAdapter.Fill(Me.DataSet1.Inventory, iSTORE_NO)
    Me.ReportViewer1.LocalReport.SetParameters(reportparameters)
    Me.ReportViewer1.RefreshReport()

可能不小心将参数的可用值设置为 nullreport.rdlc 中的一些其他值。如果是这样,请转到参数属性并将 Available Values 设置为 None 并重试。

如果您的问题是您无法在报表中看到参数值,您能否尝试在报表查看器代码页中添加刷新。

在代码末尾添加这个

Reportviewer.localreport.refresh()

问题可能是因为页面在应用程序完成传递值之前加载,因此请刷新它以便它可以重新加载手头的参数值。

我找到了The Aswer,你需要记得在你选择报告的路径后输入参数,这是前所未有的。

我遇到了完全相同的问题,一切都很好,直到我将参数输入 Raport,我花了两个小时才找到原因。

我使用了以下代码,它工作正常:

For Each param As WinForms.ReportParameterInfo In ReportViewer1.LocalReport.GetParameters()


If param.name = "ReportTitle" Then

 ReportViewer1.LocalReport.SetParameters(New WinForms.ReportParameter(param.Name, "THIS IS MY TITLE"))

End If

Next

Me.ReportViewer1.RefreshReport()