天天看點

ASP.NET MVC應用程式展示RDLC報表

學習ASP.NET MVC這樣久,在學習,練習與應用過程中,覺得很多知識與以前的ASP.NET多有差別,但是實作操作起來,細處又有許多相近的地方。

本篇跟大家一起學習RDLC報表,是在ASP.NET MVC應用程式中實作。在實作過程中,Insus.NET也将把一些常見的問題列舉與提供解決方法。

首先我們在資料庫準備資料,表,存儲過程等,資料應用以前練習的資料,寫一個存儲過程好了。

ASP.NET MVC應用程式展示RDLC報表

在ASP.NET MVC應用程式目錄結構下的Entities下,找到以前寫好的一個Entity,添加一個方法即可:

ASP.NET MVC應用程式展示RDLC報表

在應用程式的Reports下,開始建立RDLC報表:

ASP.NET MVC應用程式展示RDLC報表
ASP.NET MVC應用程式展示RDLC報表

選擇左邊的Table工具,在右邊的Design中,拖下一個表格。

ASP.NET MVC應用程式展示RDLC報表

放開mouse左鍵之後,會出現下面的對話框:

ASP.NET MVC應用程式展示RDLC報表

如果放開mouse左鍵之後,上面的對話沒有出現,用mouse點選Data表格,如下:

ASP.NET MVC應用程式展示RDLC報表

也會出現菜單:

ASP.NET MVC應用程式展示RDLC報表

在表格中,選擇需要顯示的字段,并儲存:

ASP.NET MVC應用程式展示RDLC報表

 接下來,我們建立一個RdlcView.aspx網頁,将用來加左RDLC報表:

ASP.NET MVC應用程式展示RDLC報表

在RdlcView.aspx.cs,寫程式:

ASP.NET MVC應用程式展示RDLC報表

在控制器中,建立一個Action,其中,可以看到怎樣加載aspx網頁,更多相關練習,可以參考:

ASP.NET MVC應用程式展示RDLC報表

建立一個視圖:

ASP.NET MVC應用程式展示RDLC報表

 我們浏覽看看效果,但在網頁運作時,出現一個異常:

ASP.NET MVC應用程式展示RDLC報表

參照Heighlight的部分,添加至Web.config中:

ASP.NET MVC應用程式展示RDLC報表
ASP.NET MVC應用程式展示RDLC報表

View Code

 再次運作,又出現另外一個異常:

ASP.NET MVC應用程式展示RDLC報表

 解決方法,在References,檢查相關的Microsoft.ReportViewer.Common和Microsoft.ReportViewer.WebForms版本:

ASP.NET MVC應用程式展示RDLC報表

回過頭去看看剛才我們拖Reportviewer時,它的版本是什麼:

ASP.NET MVC應用程式展示RDLC報表

 一個是10版本,另一個是11版本,我們移除References的

ASP.NET MVC應用程式展示RDLC報表

使用NuGet安裝相比對的版本:

ASP.NET MVC應用程式展示RDLC報表

再次浏覽,成功了:

ASP.NET MVC應用程式展示RDLC報表

點選下一頁,又發生一個異常:

ASP.NET MVC應用程式展示RDLC報表

錯誤的資訊:

Line: 885

Error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 404

解決它,在ScriptManager文法中,清加一個屬性:EnablePartialRendering="false"

ASP.NET MVC應用程式展示RDLC報表

 點選列印:

ASP.NET MVC應用程式展示RDLC報表

它會提示安裝ActiveX:

ASP.NET MVC應用程式展示RDLC報表

然後,再顯示,如下對話框:

ASP.NET MVC應用程式展示RDLC報表

還可以導出Word,PDF和Excel:

ASP.NET MVC應用程式展示RDLC報表