翻譯|使用教程|編輯:楊鵬連|2021-04-19 11:39:45.500|閱讀 249 次
概述:Vue.js框架目前非常流行,并且與Angular一致。我們已經(jīng)考慮了如何在Angular應(yīng)用程序中使用FastReport.Core?,F(xiàn)在讓我們考慮如何在Vue.js的單頁應(yīng)用程序中實現(xiàn)ASP.NET Core后端的FastReport Web報表的顯示。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
FastCube使您能夠分析數(shù)據(jù)并構(gòu)建匯總表(數(shù)據(jù)切片),以及輕松、即時地創(chuàng)建各種報表和圖表。它是高效分析數(shù)據(jù)陣列的便利工具。(重要提醒:軟件國產(chǎn)化服務(wù)季,打造高性能高安全高顏值國產(chǎn)軟件必選產(chǎn)品>>立即查看)
立即點擊獲取FastCube.Net 2020.2最新安裝包+用戶手冊
FastCube.Net在線下單立享75折起!趕緊加入購物清單吧!
Vue.js框架目前非常流行,并且與Angular一致。我們已經(jīng)考慮了如何在Angular應(yīng)用程序中使用FastReport.Core。現(xiàn)在讓我們考慮如何在Vue.js的單頁應(yīng)用程序中實現(xiàn)ASP.NET Core后端的FastReport Web報表的顯示。
	為此,我們需要安裝Node.js,并且至少要安裝NET Core SDK 2.0。但是,更新的版本更好。默認(rèn)情況下,dotnet sdk沒有vue應(yīng)用程序模板。但是可以安裝!為此,創(chuàng)建一個目錄,在其中放置您的應(yīng)用程序,然后在其中運行PowerShell命令行。這可以從上下文菜單中完成,該菜單由右鍵單擊并按住Shift鍵的同時單擊目錄中的空白區(qū)域來調(diào)用。
在命令行中輸入命令:
dotnet new?—?install Microsoft.AspNetCore.SpaTemplates::*
然后,您將可以使用Vue模板來生成演示應(yīng)用程序。使用它通過命令創(chuàng)建應(yīng)用程序:
dotnet new vue -o FRCubeVue
創(chuàng)建應(yīng)用程序后,您將看到一條警告,指出必須執(zhí)行以下命令:
npm install
但是在執(zhí)行它之前,您應(yīng)該轉(zhuǎn)到創(chuàng)建的目錄:
cd FRCubeVue
安裝所有必需的軟件包后,打開項目文件.csproj。
現(xiàn)在,我們必須將FastCube庫添加到我們創(chuàng)建的項目中,但首先應(yīng)從源代碼中將它們組裝起來。為此,請使用FastCube.Core.sln解決方案。組裝后,您將獲得兩個Nuget程序包:FastCube.Web.2020.2.1.nupkg和FastCube.Core.2020.2.1.nupkg。將它們放在一個目錄中,以后將用作本地程序包源。
現(xiàn)在,我們開始在NuGet軟件包管理器的幫助下將軟件包添加到項目中。應(yīng)當(dāng)記得,這些軟件包是本地存儲的。要輸入設(shè)置,請單擊包管理器右上角的齒輪圖標(biāo),然后添加一個新的源,該源將指向您的nupkg包的本地目錄:
 
	在下拉列表中選擇添加的軟件包來源,然后安裝軟件包:
		
	
app.UseFastCube();基于標(biāo)準(zhǔn)模板的應(yīng)用程序已準(zhǔn)備就緒,可以啟動,并且包含控制器和視圖。我們可以用它來顯示我們的數(shù)據(jù)立方體。現(xiàn)在添加一個新方法 
[HttpGet("[action]")]
 public IActionResult ShowCube()
 {
 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("C:\\Users\\FR\\Downloads\\fastcube-net-master\\Demos\\Data\\", "Cubes", "calculated_measures.mdc"));
 return View(model);
 }
讓我們更詳細(xì)地考慮這種技術(shù)。在這里,我們使用多維數(shù)據(jù)集和切片的對象。為了顯示數(shù)據(jù),我們使用對象WebGrid,它可以通過對應(yīng)的固有對象WebCubeGrid和WebSliceGrid從多維數(shù)據(jù)集或切片中接收數(shù)據(jù)。在這種情況下,我們將顯示一個切片,從而選擇了第二個對象。然后,我們從文件中下載現(xiàn)有的多維數(shù)據(jù)集。
	對于添加的ShowCube方法,我們必須創(chuàng)建一個顯示-帶有單個代碼行的ShowCube.cshtml.cs:
@await ViewBag.WebGrid.Render()
現(xiàn)在,我們轉(zhuǎn)到SPA應(yīng)用程序。當(dāng)我們使用模板創(chuàng)建項目時,它已經(jīng)包含一個演示單頁應(yīng)用程序。因此,我們要做的就是添加一個新組件并設(shè)置菜單。應(yīng)用程序結(jié)構(gòu)中必須出現(xiàn)兩個新文件: 
 
	<template> <div> <button v-on:click="Clicked">Show</button> <div v-if="show"> <iframe :id="report" height="1000" width="1000" :src="url"></iframe> </div> </div> </template> <script src="./cube.ts"></script>ASP .Net Core應(yīng)用程序中形成的顯示將在iframe中下載。
	文件cube.ts是新組件的腳本:
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
 
@Component
export default class CubeComponent extends Vue {
 url: string = '';
 show: boolean = false;
 cubeData: string ='';
 
 Clicked() {
 this.show = true;
 this.url = "api/SampleData/ShowCube";
 }
}
在腳本中,我們將iframe源的url設(shè)置為單擊按鈕。
	在此階段,必須在文件boot.ts中注冊新組件:
const route =  [
 ... 
{ path :'/ cube',component : require ('./ components /cube/ cube.vue.html' )} ] ;   
另外,我們在文件navmenu.vue.html中添加新的菜單標(biāo)題:
<template>
 <div class="main-nav">
 <div class="navbar navbar-inverse">
 <div class="navbar-header">
 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
 <span class="sr-only">Toggle navigation</span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 </button>
 <a class="navbar-brand" href="/">FRCubeVue</a>
 </div>
 <div class="clearfix"></div>
 <div class="navbar-collapse collapse">
 <ul class="nav navbar-nav">
 <li>
 <router-link to="/" :exact="true">
 <span class="glyphicon glyphicon-home"></span> Home
 </router-link>
 </li>
 <li>
 <router-link to="/counter">
 <span class="glyphicon glyphicon-education"></span> Counter
 </router-link>
 </li>
 <li>
 <router-link to="/fetchdata">
 <span class="glyphicon glyphicon-th-list"></span> FETCH data
 </router-link>
 </li>
 <li>
 <router-link to="/cube">
 <span class="glyphicon glyphicon-th-list"></span> Cube
 </router-link>
 </li>
 </ul>
 </div>
 </div>
 </div>
</template>
 
<style src="./navmenu.css" />
現(xiàn)在我們的應(yīng)用程序已準(zhǔn)備好啟動。讓我們?nèi)プ觯?/span>
 
	按下按鈕,然后查看您的多維數(shù)據(jù)集:
 
	產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動 |
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: