没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:郑恭琳|2019-07-10 15:57:46.600|阅读 576 次
概述:在这篇文章中,我们将讨论在Vue.Js框架中与ASP .Net Core一起编写的应用程序中显示在线报表设计器的方法。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在这篇文章中,我们将讨论在Vue.Js框架中与ASP .Net Core一起编写的应用程序中显示在线报表设计器的方法。
要在此类捆绑套包中创建应用程序,我们需要安装Microsoft Visual Studio 2017,或.Net Core 2.0 SDK以及Node.Js软件包。
1.创建一个应用程序Vue.js。为此,请运行Windows命令提示符。检查是否安装了模板以创建此类应用程序。请运行以下命令:
dotnet new - install Microsoft.AspNetCore.SpaTemplates :: *
然后,我们将看到以下列表:

现在,我们使用cd命令移动到要在其中创建应用程序的文件夹。并使用以下命令创建应用程序:
dotnet new vue -o FRCoreVueOnlineDesigner
这个命令将生成一个现成的演示应用程序,其中包含完整的文件和文件夹结构。
之后,使用cd转到FRCoreVueOnlineDesigner文件夹并执行命令:
npm install.
2.在VisualStudio中打开创建的项目。在开始之前,首先安装必要的NuGet套包。在套包管理器中,选择本地存储C: \ Program Files (x86) \ FastReports \ FastReport.Net \ Nugets。我们从这个存储库安装了两个软件包:FastReport.Core和FastReport.Web。

接下来,我们在配置器中启用FastReport库。编辑Startup.cs文件。将以下内容添加到Configure方法:
app.UseFastReport ();
在wwwroot文件夹中,创建一个App_Data目录并向其中添加报告模板和xml数据库。

此外,在wwwroot中,我们必须将一个文件夹与在线设计器“online designer”放在一起。此时,您应该从开发人员的站点下载它。请注意,在构建在线设计器之前,您应该在Configuration部分中选择URL API的值——FastReport.Core for Web。使用设计器下载存档后,将内容解压到wwwroot文件夹。
3.编程控制器。该应用程序已经有两个控制器——HomeController和SampleDataController。让我们使用第二个并添加我们自己的方法:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using FastReport.Web;
using Microsoft.AspNetCore.Hosting;
using System.IO;
namespace FRCoreVueOnlineDesigner.Controllers
{
[Route("api/[controller]")]
public class SampleDataController : Controller
{
private IHostingEnvironment _env;
public SampleDataController(IHostingEnvironment env)
{
_env = env;
}
[HttpGet("[action]")]
public IActionResult Design(string name)
{
var webRoot = _env.WebRootPath;
WebReport WebReport = new WebReport();
WebReport.Width = "1000";
WebReport.Height = "1000";
if (name != "Blank")
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
WebReport.Mode = WebReportMode.Designer; // Set the web report object mode - designer display
WebReport.DesignerLocale = "en";
WebReport.DesignerPath = @"WebReportDesigner/index.html"; // We set the URL of the online designer
WebReport.DesignerSaveCallBack = @"api/SampleData/SaveDesignedReport"; // Set the view URL for the report save method
WebReport.Debug = true;
ViewBag.WebReport = WebReport; // pass the report to View
return View();
}
[HttpPost("[action]")]
// call-back for save the designed report
public IActionResult SaveDesignedReport(string reportID, string reportUUID)
{
var webRoot = _env.WebRootPath;
ViewBag.Message = String.Format("Confirmed {0} {1}", reportID, reportUUID); // We set the message for representation
Stream reportForSave = Request.Body; // Write the result of the Post request to the stream.
string pathToSave = System.IO.Path.Combine(webRoot, @"App_Data/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();
}
}Designer方法旨在显示在线设计器。SaveDesignedReport方法将修改后的报告保存在服务器上。
4.提交。对于添加的两个方法中的每一个,都需要创建相同名称的视图:

将以下代码添加到Design.cshtml文件中:
@await ViewBag.WebReport.Render()
将以下代码添加到SaveDesignedReport.cshtml文件:
@ViewBag.Message
5.客户编程。ClientApp-> components文件夹包含组件:我们的单页应用程序的页面“pages”。创建自己的组件。添加设计器文件夹。在其中创建online_designer.vue.html文件——页面模板“page template”:
Matrix Master-Detail Barcode Design
模板中有三个单选按钮,用于定义报告的名称。另一个按钮启动Clicked函数,该函数应从服务器请求报表设计器。此外,代码显示变量设计器的内容。该变量将包含设计器的get请求的结果。在底部,我们声明了一个脚本来处理这个模板。它将位于一个单独的文件online_designer.ts中:
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
@Component
export default class DesignerComponent extends Vue {
designer: string = '';
report: string = '';
Clicked() {
if (this.report != '') {
fetch('api/SampleData/Design?name=' + this.report)
.then(response => response.text())
.then(data => {
this.designer = data;
});
}
}
SetReportName(text: string)
{
this.report = text;
}
}Clicked函数对SampleData控制器中的Web方法执行get请求。web方法返回html格式的表示,我们将其写入变量设计器。SetReportName函数将变量设置为report——报告的名称。此变量在设计器的get请求中作为参数传递。
由于此处自动生成应用程序,因此有演示页面。让我们从菜单navmenu.vue.html中删除它们:
Toggle navigation FRCoreVueOnlineDesigner
现在我们将组件添加到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/online_designer/online_designer.vue.html') }
];
new Vue({
el: '#app-root',
router: new VueRouter({ mode: 'history', routes: routes }),
render: h => h(require('./components/app/app.vue.html'))
});" _ue_custom_node_="true">我们添加了一个指向我们创建的组件的链接。它将在Web应用程序启动时立即显示,即它将成为主页。运行我们的程序。使用单选按钮选择报告,然后按设计“Design”按钮:

打开另一个报告,转到报告“Report”选项卡,然后单击保存“Save”按钮:

这样,我们就学习了如何在借助Vue.js框架编写的单页应用程序中显示在线设计器。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




在使用Parasoft C/C++test执行BugDetective数据流分析时,可能会遇到用户自定义的资源API,那在这种情况下,若要判断是否存在资源问题,如资源泄露等,则需要手动配置测试配置。
大型SaaS系统的自动化测试常常受制于界面变化快、结构复杂、加载机制多变等因素。从元素识别到脚本管理,SmartBear TestComplete帮助Salesforce建了可靠的自动化测试体系。
BarTender 标签管理系统,正是帮助企业轻松实现 GS1 标准化标签设计、编码生成与信息联动的强大工具。
Parasoft C/C++test 是一款功能强大的 C/C++ 软件测试工具,集成了静态代码分析、单元测试、集成测试和覆盖率分析等功能,单元测试作为其关键功能之一,为了适配多样化的目标部署环境,C/C++test 设计了灵活的测试结果收集机制。通过Socket通讯方式来收集单元测试结果,从而扩展其测试覆盖范围与应用场景。
相关产品
一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastReport Online Designer一个跨平台的可视化Web报表设计器
最新文章 MORE
半岛外围网上直营相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营