2015-07-10 140 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