提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2019-08-30 11:58:09.610|阅读 3483 次
概述:框架Vue.js现在非常受欢迎,几乎与Angular相提并论。我们已经讨论过在Angular应用程序中使用FastReport.Core的方法。现在让我们看看如何在Vue.js上的单页应用程序中实现FastReport Web报表的显示,并在ASP .Net Core上使用后端。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
框架Vue.js现在非常受欢迎,几乎与Angular相提并论。我们已经讨论过在Angular应用程序中使用FastReport.Core的方法(请点击这里回顾详细教程)。现在让我们看看如何在Vue.js上的单页应用程序中实现FastReport Web报表的显示,并在ASP .Net Core上使用后端。
为了完成这个目的,我们需要安装Node.js和Net Core SDK 2.0或更多“fresh”。 默认情况下,dotnet sdk没有vue应用程序模板。但您可以安装它。为此,请创建一个目录,在该目录中放置未来的应用程序并在其中运行PowerShell命令行。这可以从上下文菜单中完成,通过右键单击文件夹中的空白区域并按住Shift键来调用该菜单。
在命令提示符下,输入命令:
dotnet new - install Microsoft.AspNetCore.SpaTemplates :: *
之后,您可以使用Vue模板生成演示应用程序。
使用它并使用以下命令创建应用程序:
dotnet new vue -o FRCoreVue
创建应用程序后,您将看到一条警告,您需要运行该命令:
npm install
但在执行之前,您需要转到创建的目录:
cd FRCoreVue
安装完所有必需的软件包后,打开项目文件.csproj。
要使用FastReport,请在NuGet管理器中安装软件包(点击这里高速下载最新版FastReport.Net安装包)。选择位于文件夹中的本地包源:J: \ Program Files (x86) \ FastReports \ FastReport.Net \ Nugets。

安装包:FastReport.Core和FastReport.Web。
要显示报表,我们需要报表模板及其数据源。因此,在wwwroot目录中,创建App_Data文件夹并在其中放置所需的报表模板和数据库(如果您使用的是文件数据源)。

在Startup.cs文件中,向Configure方法添加一行代码:
app.UseFastReport();
在Controllers文件夹中,打开SampleDataController.cs文件。在这个类中已经有几种演示方法,我们不需要它们,可以安全地删除它们。相反,添加自己的方法:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using FastReport.Web;
using Microsoft.AspNetCore.Hosting;
namespace FRCoreVue.Controllers
{
[Route("api/[controller]")]
public class SampleDataController : Controller
{
private IHostingEnvironment _env;
public SampleDataController(IHostingEnvironment env)
{
_env = env;
}
[HttpGet("[action]")]
public IActionResult DisplayReport(string name)
{
var webRoot = _env.WebRootPath;
WebReport WebReport = new WebReport();
WebReport.Width = "1000";
WebReport.Height = "1000";
WebReport.Report.Load(System.IO.Path.Combine(webRoot, (String.Format("App_Data/{0}.frx", name)))); // Load the report into the WebReport object
System.Data.DataSet dataSet = new System.Data.DataSet(); // Create a data source
dataSet.ReadXml(System.IO.Path.Combine(webRoot, "App_Data/nwind.xml")); // Open the xml database
WebReport.Report.RegisterData(dataSet, "NorthWind"); // Registering the data source in the report
ViewBag.WebReport = WebReport; // pass the report to View
return View();
}
}DisplayReport方法采用参数“name”,这是报表的名称。因此,此方法将所需的报表模板加载到WebReport对象中。右键单击方法签名,然后从菜单中选择添加视图“Add view ...”。
视图创建窗口将打开。只需单击确定“Ok”。使用以下内容替换创建的视图中的代码:
@await ViewBag.WebReport.Render()
我们现在转向Vue上的客户端应用程序。在项目树中,展开ClientApp-> components文件夹。以下是组件:页面、菜单等。我们将创建自己的组件。添加报表文件夹。在其中创建文件report.vue.html:
Matrix Master-Detail Barcode Show Report
页面模板将显示报表的下拉列表。选择一个值并单击显示报表“Show Report”按钮将显示包含该报表的框架。Variable-flag show负责显示帧。默认情况下,其值为false,不显示框架。但加载报表后,其值将更改为true,并显示框架。现在我们将实现用于处理report.ts模板的脚本,我们将将其添加到同一个报表文件夹中:
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
@Component
export default class ReportComponent extends Vue {
report: string = 'Matrix';
url: string = '';
show: boolean = false;
Clicked() {
if (this.report != null) {
this.show = true;
this.url = "api/SampleData/DisplayReport?name=" + this.report;
}
}
}变量报表具有默认值,因此最初在下拉列表中选择它。Clicked函数根据选定的报表名称形成控制器中方法的链接,并设置show flag的值。
现在从navmenu.vue.html文件中的站点侧菜单中删除不必要的演示页面链接:
<template> <div> <div class="navbar navbar-inverse"> <div> <button type="button" data-toggle="collapse" data-target=".navbar-collapse"> <span>Toggle navigation</span> <span></span> <span></span> <span></span> </button> <a href="/">FRCoreVue</a> </div> </div> </div> </template> <style src="./navmenu.css" />
还要编辑加载组件的文件boot.ts:
import './css/site.css';
import 'bootstrap';
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
const routes = [
{ path: '/', component: require('./components/report/report.vue.html') }
];
new Vue({
el: '#app-root',
router: new VueRouter({ mode: 'history', routes: routes }),
render: h => h(require('./components/app/app.vue.html'))
});现在我们的组件将显示在主页面上。运行应用程序:

我们看到一个带有下拉列表和按钮的空白页面。展开下拉列表:

我们有三份报表。让我们选择Master-Detail并单击Show Report按钮:

我们得到一份报表。同时,我们可以使用Web报表工具栏中的所有功能。例如,导出:

我们在Vue.js上编写的单页应用程序中实现了Web报表显示。如您所见,由于配置了Vue + ASP .Net Core捆绑,实现非常简单。
VK
Code
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站