2009-06-23 37 views
8

在本地模式下使用時,有沒有人有關於Microsoft ReportViewer(VS 2008風格)的極好參考的建議?我目前正在使用它,但其中的一部分是一個黑盒子,所以我想閱讀整個主題。在本地模式下使用微軟ReportViewer控件的子報表

尤其要開始使用子報表來顯示更復雜的父子報表。我假設他們以與Crystal Reports類似的模式工作,我相當熟悉。

謝謝,羅布。

回答

4

我曾與在一個點ReportViewer控件,並能找到http://www.gotreportviewer.com

+0

感謝您的參考 - 它看起來很有用 – 2009-06-28 13:24:45

1
+0

是的,例如在示例和演練中,我無法在本地模式的子報表上看到任何內容。我一直在尋找純粹參考庫中經常缺少的文檔 - 設計原則的概述和討論。例如,爲什麼你必須在那裏刪除一個表或列表。爲什麼如果你不這樣做,則在該字段周圍添加= First()。我現在知道答案,但是很多挖掘才找到答案。 – 2009-06-28 13:25:47

12

http://www.gotreportviewer.com鏈接是一個很好的一次,但它看起來像材料的地方分報告和的ReportViewer 2008年是整個有點稀疏,spreadout淨。這將是一個主題值得寫博客,所以我會:-)

這裏有幾個頭條:

  1. 子報表是一個完全獨立的報告,但使用標準的報表參數機制是鏈接到主報告。主報告配置爲將其一個或多個字段(例如主鍵)傳遞給子報表。子報表通常會使用此參數作爲其自身查詢的參數來加載數據集
  2. 即使您在設計時可能已針對子報表定義了數據源,但在主報表中使用時也不會使用此參數。相反,您必須爲SubreportProcessing事件實施處理程序。爲添加到主報表的每個子報表調用相同的處理程序,以便查詢傳遞給處理程序的參數以確定要加載的數據集。
  3. 對於主報表中的每個記錄,將調用一次事件處理程序。例如,如果主報表顯示200條記錄,則每次調用200次事件處理函數但使用不同的參數。
  4. 因此,您必須警惕性能。我跑的第一份報告有2000條記錄(對於一個平面報告來說非常合適),但是這2,000條記錄中的每一條記錄都爲子報告提取了20條子記錄。它確實運行了,但在報告呈現之前花了幾分鐘的時間
  5. 如果您可以構建數據,以便可以使用包含主數據庫和子報告數據的單個數據集,那麼嵌套數據區域具有更好的性能 - 只有一個查詢返回2,000條記錄不是2,000個單獨的查詢。見http://www.gotreportviewer.com/masterdetail/index.html

乾杯,羅布。

相關問題