我有一个由reportviewer组成的aspx文件。我所拥有的报告不是表格,而是由几个textbo组成(需要一些以前的aspx值)。如何将这些值传递给报表查看器?
下面的图片是报告的设计。我正在使用rdlc来创建报告。 我创建一个文本框名称为para01。 只是想知道如何从C#代码中传入报告查看器。 我正在使用VS2014网络应用程序。
答案 0 :(得分:1)
如果您的值很少,则可以使用查询字符串将其传递到ReportViewer
页面;即:
Me.Response.Redirect("~/yourFolder/yourReportViewerPage.aspx?" _
& "staffname=" & txtStaffName.Text & "&" _
& "taskName=" & txtTaskName.Text)
然后转换ReportParameter
页面ReportViewer
中的每个值(我通常使用Page_Load
事件):
Dim parStaffName As New ReportParameter("parStaffName", Me.Request.QueryString("staffName"))
Dim parTaskName As New ReportParameter("parTaskName", Me.Request.QueryString("taskName"))
yourReportViewer.LocalReport.SetParameters(New ReportParameter() {parStaffName, parTaskName})
在报告中定义这些参数并使用以下方式阅读:
=Parameters!parStaffName.Value
这是C#代码;希望它有效!
查询字符串:
Response.Redirect("~/yourFolder/yourReportViewerPage.aspx?staffname=" + txtStaffName.Text + "&taskName=" + txtTaskName.Text);
报告参数:
ReportParameter parStaffName = new ReportParameter("parStaffName", Request.QueryString("staffName"));
ReportParameter parTaskName = new ReportParameter("parTaskName", Request.QueryString("taskName"));
yourReportViewer.LocalReport.SetParameters(new ReportParameter[] {parStaffName, parTaskName});