2009-06-15 48 views
0

我已經搜索了這個,我沒有找到我正在尋找的答案。c#.net報告服務動態創建.rdlc報告的可選頁腳

我正在用C#.NET和Visual Studio 2008編寫Windows窗體程序。我正在使用Reporting Services並使用.net提供的報告查看器呈現報告。報告的數據源是SQL Server。我在本地呈現報告。我沒有使用報表服務器。這些報告是.rdlc文件。

我想以編程方式根據用戶在窗體中的輸入將頁腳添加到報表(而不是表腳)。我知道如何從Windows窗體傳遞參數給報表。我不知道如何使用這種技術或其他技術來動態創建或刪除頁腳。當在頁面上創建頁腳時,我需要添加文本。

目前我有一個永久頁腳,其中包含通過向報表查看器傳遞參數來填充的文本框。

List<ReportParameter> parameters = new List<ReportParameter>(); 

parameters.Add(new ReportParameter("FootnoteLine1", FootnoteLine1.ToString())); 

parameters.Add(new ReportParameter("FootnoteLine2", FootnoteLine2.ToString())); 

reportViewer1.LocalReport.SetParameters(parameters); 

任何幫助表示讚賞。

回答

0

我能夠在運行時達到我想要的靈活性級別的唯一方法是編寫代碼從頭開始構建.rdlc文件。 rdlc文件只是XML,這意味着.net xml類可用於生成文件。如果用戶不需要頁腳,那麼程序根本不會寫入xml文件的那一部分。

MSDN甚至有一個關於如何做到這一點的教程。

http://msdn.microsoft.com/en-us/library/ms170239.aspx 
1

您將不得不學習使用VB.NET以使用Reporting Services的自定義代碼功能。另一種選擇是編寫一個表達式,當用戶輸入有效參數時返回false,當用戶輸入有效參數時返回true。應該爲頁腳的「隱藏/顯示」字段設置此表達式。該字段應在頁腳或文本框「屬性」對話框中找到。