2015-07-10 142 views
0

我有一个由reportviewer组成的aspx文件。我所拥有的报告不是表格,而是由几个文本组成(它需要以前的aspx的一些值)。我怎样才能将这些价值传递给报告查看器?传递值给报告查看器

以下图片为本报告的设计。 enter image description here

我正在使用rdlc创建报告。 我确实创建了一个文本框名称为para01。 只是想知道如何从C#代码传递到报表查看器。 我正在使用VS2014 web应用程序。

回答

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}); 
+0

我找的C#不vb的...但感谢您的评论:) –

+0

答案用C#代码更新 – tezzo