在MVC中使用rdlc格式的報表


前言

 近期,在公司做的項目中做到報表模塊需要使用rdlc格式的報表,這個報表需要使用WebForm來加載,但是現在用ASP.NET做項目基本上都是MVC。由於以前沒有使用過,因此記錄下來,供以后查閱。

 下面做個簡單的Demo,使用的工具是VS2012+SQL Server2012。

一、准備數據庫

  我創建了一個非常簡單的表格,添加了一些數據。結構如圖所示:

二、在應用程序中創建RDLC報表

  1. 首先,在應用程序中添加ReportFile文件夾,右擊文件夾,添加->新建項->Reporting->報表。

  2.選擇左邊的"表",直接拖到右邊。或者在右邊右鍵->插入->表。結果如下:

3.將鼠標放在表格上,點擊圖中箭頭所示,會出現菜單“創建新數據源”。

4.之后會出現如下界面,點擊新建之后,配置好數據源,點擊保存。

5.然后點擊3中的箭頭所示,會將表中的列展示出來,在表格中選擇需要顯示的列,最終結果如下:

三、在應用程序中創建aspx頁面

在應用程序中,創建一個ReportPage的文件夾,添加一個webForm窗體。在頁面拖兩個控件:

 

簡單設置一下ReportViewer,然后在ReportView中間,插入節點“LocalReport”,最終webForm頁面如下:

下面來寫后台代碼,從數據庫中獲取表格的數據源。

四、在視圖中加載WebForm頁面

這部分開始我是遇到一個問題,如何在視圖里面加載webForm頁面?

這里我采用的是iframe,將其src屬性指向aspx頁面。

視圖界面主要代碼如下:

五、實現效果

在IE瀏覽器中,運行出現一個錯誤:

按照提示,將語句添加至web.config中。再次運行,成功了。

可是,當網站在Chrome瀏覽器中運行時,沒有報錯,但是表格沒有數據:

這時候,我們只需要在WebForm頁面設置ReportViewer控件的“SizeToReportContent”屬性設置為“true”即可。

再次瀏覽,也成功了。

六、結語

本次分享到此結束。如果這篇文章對你有幫助的話,評論或推薦下吧!

項目源碼:https://github.com/liuyang-1990/ReportDemo

作者:NaYoung
出處:http://www.cnblogs.com/liuyoung/p/7728773.html
歡迎轉載,但任何轉載必須保留完整文章,在顯要地方顯示署名以及原文鏈接。如您有任何疑問或者授權方面的協商,請給我留言

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM