[转]配置子报表和钻取报表
您可以使用子報表和鉆取報表將相關報表鏈接在一起。
-
子報表是在父報表的表體內嵌入其他報表的項。從概念上講,子報表類似于為其他網頁內容提供容器的網頁中的框架。子報表呈現在包含它的父報表內。同時處理和顯示這兩個報表。
-
鉆取報表是在希望支持指向其他相關報表的鉆取鏈接時創建的一種報表。通常,鉆取報表通過數據與父報表關聯。舉一個常見的鉆取報表的示例:包含指向當月各個銷售訂單的鏈接的 Monthly Sales 報表。當您單擊鉆取鏈接時,父報表將被含有支持詳細信息的其他報表替代。
鉆取報表和子報表均支持父報表和子報表的概念。若要關聯這些報表,必須創建報表參數以傳遞用來建立關系的數據。若要在運行時鏈接這些報表,必須編寫支持該連接的代碼。在部署相關報表時,請確保客戶端報表定義 (.rdlc) 文件都存儲在文件系統上的同一文件夾中。
下列事件提供示例代碼,說明如何實現子報表和鉆取操作:
-
Drillthrough
-
SubreportProcessing
-
Drillthrough
-
SubreportProcessing
添加子報表
子報表及其父報表應通過共享的參數進行關聯。必須為每個報表添加參數。在向父報表添加子報表之前必須配置這些參數。添加子報表時,需要設置父報表以向子報表傳遞參數。
添加子報表
在圖形設計模式下打開客戶端報表定義 (.rdlc) 文件。
在工具箱中,單擊“子報表”。
在設計圖面上,拖動一個框,根據需要調整子報表的大小。或者,可以單擊設計圖面來創建固定大小的子報表。
| 如果項目中已經存在子報表,則可以將該報表從解決方案資源管理器拖到設計圖面來創建子報表。 |
?
右鍵單擊子報表,再單擊“屬性”。
在“子報表”中,選擇希望在子報表區域中顯示的報表。
在“參數”選項卡中,執行以下操作:
-
在“參數名稱”中,鍵入子報表中的參數的名稱。此名稱必須與 ReportName 屬性中命名的報表的報表參數的名稱匹配。
-
在“參數值”中,鍵入要傳遞給子報表的值。此值可以是靜態文本,也可以是指向父報表中的某字段或其他對象的表達式。
重復步驟 2 添加要傳遞給子報表的其他參數。
| 子報表需要的所有參數都必須包括在“參數”列表中。如果缺少必需的參數,子報表將不會正確顯示在父報表內。 |
?
若要為子報表提供數據,應用程序必須處理 LocalReport 對象的 SubreportProcessing 事件。SubreportProcessingEventArgs 是傳遞給 SubreportProcessing 事件處理程序方法的參數之一。在事件處理程序中,應用程序將檢查使用 SubreportProcessingEventArgs 的 Parameters 屬性傳遞給子報表的參數值。然后,應用程序必須使用 SubreportProcessingEventArgs 的 DataSources 屬性為子報表提供數據。
配置鉆取報表
通過定義可從父報表導航到含有支持數據的子報表的鉆取操作,可以配置鉆取報表。
鉆取報表通常包含由父報表傳遞給它的參數。以銷售情況匯總報表為例,鉆取報表中就含有一個以訂單作為值的參數。該匯總報表中含有與每個訂單編號相對應的鉆取報表鏈接。單擊此鏈接將打開包含詳細信息的目標報表,并向其傳遞相應的訂單 ID。
任何存儲在報表服務器中的報表都可以成為鉆取報表。只能給文本框和圖像添加鉆取鏈接。
添加鉆取報表鏈接
在圖形設計模式下打開客戶端報表定義 (.rdlc) 文件。
右鍵單擊要向其添加鏈接的文本框或圖像,再單擊“屬性”。
在“導航”選項卡中,選擇“跳至報表”。
鍵入或選擇報表名稱。報表必須是位于同一項目中的 .rdlc 文件。
若要設置傳遞給鉆取報表的參數,請單擊“參數”,然后執行以下操作:
-
在“參數名稱”中,鍵入鉆取報表中的報表參數的名稱。
注意 參數列表中的名稱必須與目標報表中的預期參數名稱完全匹配。如果名稱不匹配,或者未列出某個預期的參數,鉆取報表將出錯。
?
-
在“參數值”中,鍵入或選擇要傳遞給鉆取報表的參數的值。
注意 值可以包含計算結果為傳遞給報表參數的值的表達式。值列表中的表達式包括當前報表的字段列表。
?
若要為鉆取報表提供數據,應用程序必須處理 ReportViewer 對象的 Drillthrough 事件。DrillthroughEventArgs 是傳遞給 Drillthrough 事件處理程序方法的參數之一。DrillThroughEventArgs 具有一個 Report 屬性,該屬性用來表示鉆取報表。在事件處理程序中,宿主應用程序可以通過對鉆取報表調用 GetParameters() 方法來檢查傳遞給鉆取報表的參數的值。然后,宿主應用程序必須使用鉆取報表的 DataSources 屬性為鉆取報表提供數據。
另請參見
概念
定義 ReportViewer 報表中的報表參數向 ReportViewer 報表添加交互、可見性和導航
其他資源
示例和演練總結
以上是生活随笔為你收集整理的[转]配置子报表和钻取报表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [分享]MOSS的CSS样式说明,一个老
- 下一篇: 构建全程电子商务,创新企业经营模式(2)