翻譯|使用教程|編輯:楊鵬連|2021-03-12 10:15:04.633|閱讀 308 次
概述:在本章中,我們將學(xué)習(xí)FastReport中使用報(bào)表的原則。我們還將仔細(xì)介紹如何使用ASP.NEТ MVC。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport .Net是適用于Windows Forms,ASP.NET,MVC和.NET Core的全功能解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我們實(shí)現(xiàn)了對(duì).NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉(zhuǎn)換為報(bào)告對(duì)象的算法已得到顯著改進(jìn)。并且還添加了用于轉(zhuǎn)換數(shù)字的新功能。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
立即點(diǎn)擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購(gòu)買價(jià)更低,專享85折起!趕緊加入購(gòu)物清單吧!
在 "Medium Trust "模式下工作
這種模式被許多共享主機(jī)提供商使用。在此模式下,以下操作受到限制:
除此之外,還需要在GAC中添加System.Windows.Forms.DataVisualization.dll程序集。這個(gè)程序集是Microsoft Chart Control的一部分,在FastReport中用于繪制圖表。請(qǐng)咨詢您的共享托管提供商關(guān)于將此程序集添加到 GAC 中的問題。
在Web Farm和Web Garden架構(gòu)中工作
要在多服務(wù)器(Web Farm)或多處理器(Web Garden)架構(gòu)中使用 FastReport 報(bào)表生成器,還需要為 WebReport 對(duì)象之間的數(shù)據(jù)同步創(chuàng)建特殊存儲(chǔ)。
在配置文件web.config中添加以下行。
<appSettings> <add key="FastReportStoragePath" value="\FS/WebReport_Exchange"/> <add key="FastReportStorageTimeout" value="10"/> <add key="FastReportStorageCleanup "value="1/> </appSettings>- FastReportStoragePath:在多服務(wù)器架構(gòu)中工作時(shí),臨時(shí)文件文件夾的路徑,每臺(tái)服務(wù)器必須能夠訪問這個(gè)文件夾。
使用ASP.NEТ MVC
當(dāng)您在ASPX(MVC 2)中使用WebReport時(shí),您不會(huì)有任何問題--只需要將控件從工具箱中拖到頁面上。WebReport會(huì)自動(dòng)對(duì)web.config進(jìn)行所有必要的修改。讓我們來看一個(gè)ASPX中的WebReport演示,可以在文件夾 \Demos\C#\MvcDemo中找到。
要在Razor(MVC 3,4)中使用WebReport,你需要在web應(yīng)用程序根目錄下的web.config文件中添加一行處理程序定義。
在<system.web> <httpHandlers>部分添加這一行,以便與IIS6一起使用。
<add path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers. WebExport" />
并在<system.webServer><handlers>部分添加這一行,以便與IIS7一起使用。
<add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport" />
然后修改包含Views文件夾中的web.config文件。在section<system.web.webPages.razor> <namespaces>中添加這些行。
<add namespace="FastReport" /> <add namespace="FastReport.Web" />
在文件_Layout.cshtml的<head>標(biāo)簽中添加這幾行。
@WebReportGlobals.Scripts()
@WebReportGlobals.Styles()
現(xiàn)在你可以在視圖上繪制報(bào)表了。進(jìn)入控制器并創(chuàng)建一個(gè)WebReport。
WebReport webReport = new WebReport(); // 創(chuàng)建對(duì)象 webReport.Width = 600; //設(shè)置寬度 webReport.Height = 800; //設(shè)置高度 webReport.Report.RegisterData(dataSet, "AppData"); // 數(shù)據(jù)綁定 webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx"); //從文件中加載報(bào)表 ViewBag.WebReport = webReport; //發(fā)送對(duì)象到View上進(jìn)入 "視圖",添加這一行:
@ViewBag.WebReport.GetHtml()類似的創(chuàng)建WebReport的代碼你也可以直接在View中寫。
我們來看一下Razor中WebReport的演示,文件夾為\Demos\C#\MvcRazor。有各種加載到報(bào)表中的樣本,包括預(yù)先準(zhǔn)備的,還有一個(gè)使用StartReport事件的例子。
不要忘記在bin目錄下添加缺少的dll。
MVC中的導(dǎo)出示例
當(dāng)將FastReport.Net與ASP.Net MVC框架一起使用時(shí),有一個(gè)簡(jiǎn)單的方法可以在HTML表單上按按鈕創(chuàng)建任何支持格式的文件。
在視圖中添加以下代碼。
@using (Html.BeginForm("GetFile", "Home")) { <input id="pdf" type="submit" value="Export to PDF" /> }- GetFile : 控制器處理程序的名稱
在控制器中添加名稱空間。
using FastReport.Export.Pdf;在控制器中添加方法GetFile。
public FileResult GetFile() { WebReport webReport = new WebReport(); // bind data System.Data.DataSet dataSet = new System.Data.DataSet(); dataSet.ReadXml(report_path + "nwind.xml"); webReport.Report.RegisterData(dataSet, "NorthWind"); // load report webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx"); // prepare report webReport.Report.Prepare(); // save file in stream Stream stream = new MemoryStream(); webReport.Report.Export(new PDFExport(), stream); stream.Position = 0; // return stream in browser return File(stream, "application/zip", "report.pdf"); }Excel 2007的例子。
using FastReport.Export.OoXML; ... webReport.Report.Export(new Excel2007Export(), stream); ... return File(stream, "application/xlsx", "report.xlsx");FastReport.Net和jQuery
FastReport.Net的WebReport對(duì)象使用了jQuery庫(kù)。你可能已經(jīng)在你的項(xiàng)目中使用了這個(gè)庫(kù)。
為了避免在客戶端瀏覽器中重復(fù)使用jQuery引導(dǎo)腳本和樣式,當(dāng)使用markup Razor時(shí),你必須在_Layout.cshtml中使用以下行。
@WebReportGlobals.ScriptsWOjQuery()
@WebReportGlobals.StylesWOjQuery()
替換這些行,其中包括所有jQuery文件:
@WebReportGlobals.Scripts()
@WebReportGlobals.Styles()
當(dāng)使用ASPX標(biāo)記時(shí),您必須設(shè)置ExternalJquery = true(默認(rèn)為false)。
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷售中!低至3701元起!>>查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: