• <menu id="w2i4a"></menu>
  • logo Fastreport.Net 教程2018(完結(jié))

    文檔首頁(yè)>>Fastreport.Net 教程2018(完結(jié))>>如何在ASP .Net Core中使用Online Designer

    如何在ASP .Net Core中使用Online Designer


    FastReport .Net 2018的一個(gè)新穎之處是將OnlineDesigner改編為.Net Core框架。 一般來(lái)說(shuō),OnlineDesigner并沒(méi)有改變。今天將在ASP.Net Core項(xiàng)目中使用它的一些功能。 首先需要在Web設(shè)計(jì)器中構(gòu)建OnlineDesigner。 在OnlineDesigner的web designer中,應(yīng)該選擇必須存在的組件,樣式,插件等。請(qǐng)注意“配置”部分。需要在此處設(shè)置API URLs。選擇FastReport.Web for Core:

    OnlineDesignerCore

    組裝完Designer后,即可下載存檔。 創(chuàng)建一個(gè)ASP.Net Core Web Application:

    OnlineDesignerCore

    選擇Web Application(Model-View-Controller):

    OnlineDesignerCore

    需要將FastReport.Web庫(kù)添加到項(xiàng)目中??梢允褂肕anage Nuget Packages執(zhí)行此操作。在解決方案資源管理器中右鍵單擊項(xiàng)目的根目錄,然后選擇Manage Nuget Packages:

    OnlineDesignerCore

    在包管理器中選擇Local package source:

    OnlineDesignerCore

    需要在文件夾上配置它:С:\ Program Files(x86)\ FastReports \ FastReport.Net \ Nugets。請(qǐng)單擊齒輪圖標(biāo):

    OnlineDesignerCore

    之后,將看到FastReport包。安裝FastReport.Web:

    OnlineDesignerCore

    開(kāi)始創(chuàng)建程序。 需要將文件夾WebReportDesigner放在wwwroot中下載的檔案中。 將兩個(gè)文件夾添加到wwwroot:Reports和DesignedReports。 在第一個(gè)文件夾中,將放置Simple List.frx報(bào)告模板和nwind.xml數(shù)據(jù)庫(kù)。這兩個(gè)文件都可以在文件夾C:\ Program Files(x86)\ FastReports \ FastReport.Net \ Demos \ Reports中獲取。將報(bào)告從OnlineDesigner保存到DesignedReports文件夾。 打開(kāi)控制器HomeController.cs。添加庫(kù)來(lái)使用:

    using FRCoreOnlineDesigner.Models;
    using FastReport.Web;
    using System.IO;
    using Microsoft.AspNetCore.Http;
    using Microsoft.AspNetCore.Hosting;

    在HomeController構(gòu)造函數(shù)中,獲取了hostingEnvironment對(duì)象,從中學(xué)習(xí)了wwwroot文件夾的絕對(duì)路徑。

     public HomeController(IHostingEnvironment hostingEnvironment)
     {
     _hostingEnvironment = hostingEnvironment;
     }

    編輯Index方法:

     public IActionResult Index()
     {
     WebReport WebReport = new WebReport(); // Create a Web Report Object
     WebReport.Width = "1000"; // Set the width of the report
     WebReport.Height = "1000"; // Set the height of the report
     string webRootPath = _hostingEnvironment.WebRootPath; // Get the path to wwwroot folder
     //string contentRootPath = _hostingEnvironment.ContentRootPath;
     
     WebReport.Report.Load(webRootPath + "/reports/Simple List.frx"); // Load the report into a WebReport object
     System.Data.DataSet dataSet = new System.Data.DataSet(); // Create a data source
     dataSet.ReadXml(webRootPath + "/reports/nwind.xml"); // Open the xml database
     WebReport.Report.RegisterData(dataSet, "NorthWind"); //Register the data source in the report
     
     WebReport.Mode = WebReportMode.Designer; // Set the mode of the web report object - display of the designer
     WebReport.DesignerPath = "/WebReportDesigner/index.html"; // Specify the URL of the online designer
     WebReport.DesignerSaveCallBack = "/Home/SaveDesignedReport"; // Set the view URL for the report save method
     
     ViewBag.WebReport = WebReport; // pass report to View
     return View();
     }

    再添加一個(gè)方法-SaveDesignedReport方法:

    [HttpPost]
     // call-back for save the designed report
     public ActionResult SaveDesignedReport(string reportID, string reportUUID)
     {
     string webRootPath = _hostingEnvironment.WebRootPath; // Get the path to wwwroot folder ViewBag.Message = String.Format("Confirmed {0} {1}", reportID, reportUUID); // Set a message for view
     
     Stream reportForSave = Request.Body; // Write the result of the Post query to the stream
     string pathToSave = webRootPath + "/DesignedReports/TestReport.frx"; // get the path to save the file
     using (FileStream file = new FileStream(pathToSave, FileMode.Create)) // Create a file stream {
     reportForSave.CopyTo(file); // Save the result of the query to a file
     }
     return View();
     }

    對(duì)于此Web方法,需要再添加一個(gè)Views。對(duì)于文件夾Views-> Home,調(diào)用上下文菜單并選擇Add-> New item。接下來(lái),選擇MVC View Page模板和SaveDesignedReport。

    OnlineDesignerCore

    頁(yè)面代碼非常簡(jiǎn)單:

    <h2>@ViewBag.Message</h2>

    編輯view index.cshtml:

    @{
     ViewData["Title"] = "Home Page";
    }
    @await ViewBag.WebReport.Render()

    await語(yǔ)句指示對(duì)異步報(bào)告處理方法的調(diào)用。 現(xiàn)在打開(kāi)Startup.cs類。 在Configure方法中,最開(kāi)始添加以下行:

    app.UseFastReport();

    現(xiàn)在應(yīng)用程序?qū)⑹褂肍RCore庫(kù)。 啟動(dòng)Web Application。

    OnlineDesignerCore

    保存報(bào)表:

    OnlineDesignerCore

    保存完成后,檢查DesignedReports文件夾:

    OnlineDesignerCore

    該報(bào)告已成功保存,總結(jié)一下。FastReport .Net 2018已完成其Web組件對(duì)ASP .Net Core框架的全局調(diào)整。與此同時(shí),開(kāi)發(fā)人員試圖盡可能地保持使用其組件的機(jī)制,類似于它們?cè)贏SP .Net MVC中的使用。

    下載FastReport .Net

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();