如何在MVC中快速打印報表
【點擊下載FastReport .Net v2018.1最新版本】
為了使網(wǎng)頁報表與網(wǎng)頁的風(fēng)格保持一致,許多web報表都禁用了WebReport工具欄。也因為這樣,用戶被剝奪了用于導(dǎo)出和打印報表的選項。但是,如果你仍希望讓用戶能從瀏覽器中打印報表,則可以創(chuàng)建一個特殊的打印按鈕。通過點擊它,用戶將收到一個打印對話框。
現(xiàn)在我將向你展示如何在MVC Web項目中調(diào)用打印對話框。
首先,在視圖中添加一個按鈕。我把它發(fā)布在Web應(yīng)用程序demo的主頁上。我們在解決方案資源管理器(Solution Explorer)中找到文件Index.cshtml:
將按鈕添加到所需的位置:
@using (Html.BeginForm("Print", "Home")) { <input id="print" type="submit" value="Print" /> }
這里Print是控制器中處理句柄的名稱。Home是控制器的名稱。
轉(zhuǎn)到Controllers folder. HomeController.cs文件:
將該方法添加到類代碼中:
public void Print() { WebReport webReport = new WebReport(); System.Data.DataSet dataSet = new System.Data.DataSet(); dataSet.ReadXml("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//nwind.xml"); webReport.Report.RegisterData(dataSet, "NorthWind"); webReport.Report.Load("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//Simple List.frx"); webReport.EmbedPictures = true; webReport.PrintHtml(); }
如你所見,我們添加了一個名為Print
的方法。讓我們仔細看看代碼。
在第一行中,我們創(chuàng)建了一個??WebReport對象的實例。然后,我們創(chuàng)建了一個DataSet來處理數(shù)據(jù)。DataSet可以使用xml數(shù)據(jù)庫。實際上在第三行我指定了這個數(shù)據(jù)庫的路徑。使用RegisterData
方法,我們將數(shù)據(jù)源注冊到報表對象中。然后,將報表模板加載到報表對象中。它位于與數(shù)據(jù)庫相同的文件夾中。EmbedPictures
屬性允許你在html報表文件中嵌入圖像。最后,最后一行開始在瀏覽器中打印報表。
如果要將報表保存為PDF格式,則只需將最后一行替換為:
webReport.PrintPdf();
在這種情況下,您可以使用選項來格式化PDF文件。例如:
webReport.PdfPrintOptimized = true;
此選項為打印提供最佳圖像質(zhì)量。
現(xiàn)在您需要在Web.config中添加處理句柄:
<handlers> <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/> </handlers>
現(xiàn)在運行應(yīng)用程序。網(wǎng)頁上的按鈕如下所示:
點擊按鈕。我們得到一個帶有報表和打印對話框的頁面:
這里是PDF的保存:
通過這種方式,你可以使用自定義按鈕調(diào)用打印對話框,而不是從WebReport工具欄中調(diào)用。當你將報表控件嵌入到網(wǎng)頁設(shè)計中時,這會很有幫助。
在上面的例子中,我們沒有添加網(wǎng)頁報表對象到網(wǎng)頁。報表在打印之前,在單獨的頁面內(nèi)建立。如果你不需要在網(wǎng)頁上顯示報表時,這也很有用。
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動 | 在線客服 | 聯(lián)系Elyn
推薦閱讀
- FastReport VCL報表控件開發(fā)者手冊
- FastReport Online Designer中文手冊
- Fastreport.Net教程2016
- Fastreport.Net用戶手冊
- FastReport.Net教程2017(持續(xù)更新中···)
- FastReport Online Designer教程2017(持續(xù)更新中···)
- 報表教程2017(持續(xù)更新中···)
- FastReport.Net v2018.1版本更新已經(jīng)發(fā)布!