翻譯|使用教程|編輯:楊鵬連|2021-07-30 14:38:51.740|閱讀 162 次
概述:為了輸出數(shù)據(jù)立方體,我們將通過(guò) Knockout.js(用于創(chuàng)建 Web 應(yīng)用程序的庫(kù))創(chuàng)建一個(gè) SPA 應(yīng)用程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
FastCube使您能夠分析數(shù)據(jù)并構(gòu)建匯總表(數(shù)據(jù)切片),以及輕松、即時(shí)地創(chuàng)建各種報(bào)表和圖表。它是高效分析數(shù)據(jù)陣列的便利工具。
立即點(diǎn)擊獲取FastCube.Net 2021.1最新安裝包+用戶手冊(cè)
FastCube.Net在線下單立享75折起!趕緊加入購(gòu)物清單吧!
為了輸出數(shù)據(jù)立方體,我們將通過(guò) Knockout.js(用于創(chuàng)建 Web 應(yīng)用程序的庫(kù))創(chuàng)建一個(gè) SPA 應(yīng)用程序。在這個(gè)庫(kù)的幫助下,我們將能夠在應(yīng)用程序的前端部分使用 TypeScript,在后端部分使用 ASP.NET Core MVC。有了它,我們將能夠使用 FastCube .NET 報(bào)告。
要將 Knockout.js 與 .NET Core 一起使用,我們需要預(yù)先安裝 .NET Core SDK 2.0 或 MS Visual Studio。最初,使用 Knockout.js 的應(yīng)用程序模板將無(wú)法訪問(wèn)。使用命令安裝它。為此,請(qǐng)轉(zhuǎn)到命令行并輸入命令:
dotnet new?—?install Microsoft.AspNetCore.SpaTemplates::*之后,您可以創(chuàng)建基于 Knockout.js 的 SPA 應(yīng)用程序。在我們需要的文件夾中,打開(kāi)命令提示符,輸入命令:
dotnet new knockout –o KnockWebReport創(chuàng)建應(yīng)用程序后,轉(zhuǎn)到包含創(chuàng)建的應(yīng)用程序的文件夾并使用以下命令安裝必要的數(shù)據(jù)包:
npm install在使用我們的 Web 應(yīng)用程序之前,使用 FastCube 庫(kù)準(zhǔn)備 Nuget 數(shù)據(jù)包。為此,請(qǐng)打開(kāi) FastCube.Core.sln 解決方案并執(zhí)行構(gòu)建。結(jié)果你會(huì)得到兩個(gè)數(shù)據(jù)包——FastCube。Web.2020.2.1.nupkg 和 FastCube.Core.2020.2.1.nupkg。將它們放入我們將用作 Nuget 數(shù)據(jù)包的本地源的任何本地文件夾中。
現(xiàn)在您可以運(yùn)行創(chuàng)建的項(xiàng)目。讓我們從安裝 FastCube 數(shù)據(jù)包開(kāi)始。打開(kāi)數(shù)據(jù)包管理器 Nuget。在窗口的右上角,您將看到齒輪圖標(biāo) - 它打開(kāi)數(shù)據(jù)包源設(shè)置。單擊它并添加一個(gè)新的數(shù)據(jù)包源 - 包含我們的 FastCube 數(shù)據(jù)包的文件夾:
現(xiàn)在從列表中選擇添加的數(shù)據(jù)包源并安裝它們:
app.UseFastCube();我們的應(yīng)用程序包含一個(gè) SampleDataController 控制器。讓我們向其中添加以下方法:
[HttpGet("[action]")] public IActionResult ShowCube(string name) { Cube cube = new Cube(); Slice slice = new Slice() { Cube = cube }; FilterManager filterManager = new FilterManager() { Cube = cube }; WebGrid grid; grid = new WebSliceGrid() { Slice = slice }; ViewBag.WebGrid = grid; cube.SourceType = SourceType.File; cube.Load(Path.Combine(_env.WebRootPath,(String.Format("App_Data/{0}",name)))); return View(cube); }這里我們使用 Cube 和 Slice 對(duì)象。為了顯示數(shù)據(jù),使用了 WebGrid 對(duì)象,該對(duì)象可以使用相應(yīng)的繼承 WebCubeGrid 和 WebSliceGrid 對(duì)象從 Cube 或 Slice 接收數(shù)據(jù)。
@await ViewBag.WebReport.Render()接下來(lái),我們需要配置客戶端應(yīng)用程序。它位于 ClientApp 文件夾中:
<div id="app"> <input type="file" id="FileName" accept=".mdc" data-bind="event: { change: upload($element.files[0]) }" /> </div> <div data-bind="if: show"> <iframe id="report" height="1000" width="1000" data-bind="attr: {src: url}"></iframe> </div>我們將顯示一個(gè)按鈕,打開(kāi)文件選擇窗口。而且,根據(jù)邏輯參數(shù) show 的值,我們輸出一個(gè)帶有 Web 報(bào)告對(duì)象的框架。
import * as ko from 'knockout'; class HomePageViewModel { public show = ko.observable(false); public url = ko.observable(''); upload(file: Blob) { var files = new FormData(); files.append("files", file) console.log(files); if (file != null) { fetch('api/SampleData/Upload', { method: 'POST', body: files }) .then(response => response.text()) .then(data => { this.url("api/SampleData/ShowCube?name=" + data) }); this.show(true); } } } export default { viewModel: HomePageViewModel, template: require('./home-page.html') };在這個(gè)腳本中,我們實(shí)現(xiàn)了上傳文件到服務(wù)器的功能。執(zhí)行 POST 請(qǐng)求,結(jié)果我們從服務(wù)器收到保存文件的名稱。接下來(lái),我們將報(bào)告顯示方法的路徑分配給 url 變量,同時(shí)考慮到接收到的報(bào)告名稱。最后,我們將得到一個(gè)網(wǎng)絡(luò)立方體。讓我們啟動(dòng)我們的應(yīng)用程序并確保這一點(diǎn)。
句還想要更多嗎?可以您點(diǎn)擊閱讀【FastReport的報(bào)表2020最新資源盤(pán)點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport的.NET正在慧都網(wǎng)火熱銷售中!低至3701元型態(tài)起!> >查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn