Lst Patrick
Lst Patrick

Reputation: 123

Pass value to report viewer

I am having a aspx file that consist of a reportviewer. The report I am having is not table but its consist of few textbo(which require some value from previous aspx). How can I pass these value into the report viewer?

image below is design of the report. enter image description here

I am using rdlc to create the report. I do create a textbox name as para01. just wonder how can I do it from C# code to pass into report viewer. I am using VS2014 web application.

Upvotes: 0

Views: 1422

Answers (1)

tezzo
tezzo

Reputation: 11105

If you have very few values you can use query strings to pass them to your ReportViewer page; i.e.:

Me.Response.Redirect("~/yourFolder/yourReportViewerPage.aspx?" _
    & "staffname=" & txtStaffName.Text & "&" _
    & "taskName=" & txtTaskName.Text)

Then convert every value in a ReportParameter in your ReportViewer page (I usually use Page_Load event):

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})

Define these parameters in your report and read them using:

=Parameters!parStaffName.Value

This is the C# code; hope it works!

Query strings:

Response.Redirect("~/yourFolder/yourReportViewerPage.aspx?staffname=" + txtStaffName.Text + "&taskName=" + txtTaskName.Text);

Report parameters:

ReportParameter parStaffName = new ReportParameter("parStaffName", Request.QueryString("staffName"));
ReportParameter parTaskName = new ReportParameter("parTaskName", Request.QueryString("taskName"));
yourReportViewer.LocalReport.SetParameters(new ReportParameter[] {parStaffName, parTaskName});

Upvotes: 1

Related Questions