[ASP.NET] ReportViewer 總頁數顯示問題
ReportViewer 是ASP.NET裡提供的一顆報表檢視元件,方便開發者用來建立網頁上的預覽報表並且提供轉呈Excel、PDF等功能,今天同事突然提報一個問題表示在線上預覽報表時看到的總頁數變 ? 號了,而且必須切換到最後一頁才會真正的顯示出實際的總頁數值,如下圖所示。
印象所及在ReportViewer 9.0版時並沒有這個問題,而現在功能上所使用的是10.0版本,原以為是ReportViewer 元件的Bug,不過上MSDN翻了一下文件,發現這其實是正常的而不是Bug,來看看MSDN怎麼說
原來在預設情況下,這個總頁數值是一個慨算值,並不一定會等同實際的總頁數值,而會有這樣的機制據MSDN文件的說明,是為了Render 報表時提升效能。不過您如果真的在意總頁數這個數值的話,是可以在程式碼中設置 ReportViewer 的PageCountMode屬性值即可。至於報表呈現效能所受的影響度有多大,筆者未實測就不得而知,不過推測應該會跟資料量有關。
1: this.ReportViewer1.PageCountMode = Microsoft.Reporting.WebForms.PageCountMode.Actual
Ref : ReportViewer.PageCountMode Property
若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。
By No.18