原創|使用教程|編輯:我只采一朵|2017-12-14 11:23:18.000|閱讀 748 次
概述:為了使網頁報表與網頁的風格保持一致,許多web報表都禁用了WebReport工具欄。也因為這樣,用戶被剝奪了用于導出和打印報表的選項。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
【點擊下載FastReport .Net v2018.1最新版本】
為了使網頁報表與網頁的風格保持一致,許多web報表都禁用了WebReport工具欄。也因為這樣,用戶被剝奪了用于導出和打印報表的選項。但是,如果你仍希望讓用戶能從瀏覽器中打印報表,則可以創建一個特殊的打印按鈕。通過點擊它,用戶將收到一個打印對話框。
現在我將向你展示如何在MVC Web項目中調用打印對話框。
首先,在視圖中添加一個按鈕。我把它發布在Web應用程序demo的主頁上。我們在解決方案資源管理器(Solution Explorer)中找到文件Index.cshtml:
將按鈕添加到所需的位置:
@using (Html.BeginForm("Print", "Home")) { <input id="print" type="submit" value="Print" /> }
這里Print是控制器中處理句柄的名稱。Home是控制器的名稱。
轉到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
的方法。讓我們仔細看看代碼。
在第一行中,我們創建了一個??WebReport對象的實例。然后,我們創建了一個DataSet來處理數據。DataSet可以使用xml數據庫。實際上在第三行我指定了這個數據庫的路徑。使用RegisterData
方法,我們將數據源注冊到報表對象中。然后,將報表模板加載到報表對象中。它位于與數據庫相同的文件夾中。EmbedPictures
屬性允許你在html報表文件中嵌入圖像。最后,最后一行開始在瀏覽器中打印報表。
如果要將報表保存為PDF格式,則只需將最后一行替換為:
webReport.PrintPdf();
在這種情況下,您可以使用選項來格式化PDF文件。例如:
webReport.PdfPrintOptimized = true;
此選項為打印提供最佳圖像質量。
現在您需要在Web.config中添加處理句柄:
<handlers> <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/> </handlers>
現在運行應用程序。網頁上的按鈕如下所示:
點擊按鈕。我們得到一個帶有報表和打印對話框的頁面:
這里是PDF的保存:
通過這種方式,你可以使用自定義按鈕調用打印對話框,而不是從WebReport工具欄中調用。當你將報表控件嵌入到網頁設計中時,這會很有幫助。
在上面的例子中,我們沒有添加網頁報表對象到網頁。報表在打印之前,在單獨的頁面內建立。如果你不需要在網頁上顯示報表時,這也很有用。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn