原創(chuàng)|使用教程|編輯:我只采一朵|2017-12-14 11:23:18.000|閱讀 748 次
概述:為了使網(wǎng)頁(yè)報(bào)表與網(wǎng)頁(yè)的風(fēng)格保持一致,許多web報(bào)表都禁用了WebReport工具欄。也因?yàn)檫@樣,用戶被剝奪了用于導(dǎo)出和打印報(bào)表的選項(xiàng)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
【點(diǎn)擊下載FastReport .Net v2018.1最新版本】
為了使網(wǎng)頁(yè)報(bào)表與網(wǎng)頁(yè)的風(fēng)格保持一致,許多web報(bào)表都禁用了WebReport工具欄。也因?yàn)檫@樣,用戶被剝奪了用于導(dǎo)出和打印報(bào)表的選項(xiàng)。但是,如果你仍希望讓用戶能從瀏覽器中打印報(bào)表,則可以創(chuàng)建一個(gè)特殊的打印按鈕。通過(guò)點(diǎn)擊它,用戶將收到一個(gè)打印對(duì)話框。
現(xiàn)在我將向你展示如何在MVC Web項(xiàng)目中調(diào)用打印對(duì)話框。
首先,在視圖中添加一個(gè)按鈕。我把它發(fā)布在Web應(yīng)用程序demo的主頁(yè)上。我們?cè)诮鉀Q方案資源管理器(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(); }
如你所見(jiàn),我們添加了一個(gè)名為Print
的方法。讓我們仔細(xì)看看代碼。
在第一行中,我們創(chuàng)建了一個(gè)??WebReport對(duì)象的實(shí)例。然后,我們創(chuàng)建了一個(gè)DataSet來(lái)處理數(shù)據(jù)。DataSet可以使用xml數(shù)據(jù)庫(kù)。實(shí)際上在第三行我指定了這個(gè)數(shù)據(jù)庫(kù)的路徑。使用RegisterData
方法,我們將數(shù)據(jù)源注冊(cè)到報(bào)表對(duì)象中。然后,將報(bào)表模板加載到報(bào)表對(duì)象中。它位于與數(shù)據(jù)庫(kù)相同的文件夾中。EmbedPictures
屬性允許你在html報(bào)表文件中嵌入圖像。最后,最后一行開(kāi)始在瀏覽器中打印報(bào)表。
如果要將報(bào)表保存為PDF格式,則只需將最后一行替換為:
webReport.PrintPdf();
在這種情況下,您可以使用選項(xiàng)來(lái)格式化PDF文件。例如:
webReport.PdfPrintOptimized = true;
此選項(xiàng)為打印提供最佳圖像質(zhì)量。
現(xiàn)在您需要在Web.config中添加處理句柄:
<handlers> <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/> </handlers>
現(xiàn)在運(yùn)行應(yīng)用程序。網(wǎng)頁(yè)上的按鈕如下所示:
點(diǎn)擊按鈕。我們得到一個(gè)帶有報(bào)表和打印對(duì)話框的頁(yè)面:
這里是PDF的保存:
通過(guò)這種方式,你可以使用自定義按鈕調(diào)用打印對(duì)話框,而不是從WebReport工具欄中調(diào)用。當(dāng)你將報(bào)表控件嵌入到網(wǎng)頁(yè)設(shè)計(jì)中時(shí),這會(huì)很有幫助。
在上面的例子中,我們沒(méi)有添加網(wǎng)頁(yè)報(bào)表對(duì)象到網(wǎng)頁(yè)。報(bào)表在打印之前,在單獨(dú)的頁(yè)面內(nèi)建立。如果你不需要在網(wǎng)頁(yè)上顯示報(bào)表時(shí),這也很有用。
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | | 聯(lián)系Elyn
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn