报表控件stimulsoft操作:使用 Angular 应用程序的报告查看器组件

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!

Stimulsoft Reports 最新版下载

介绍

报告和仪表板查看器是用于查看文档的专用组件。它完全可定制、速度快、用户友好,提供多种功能。为了确保无缝集成到项目中,我们为应用程序的外观和功能提供了多种主题和自定义选项。

入门

打开 Visual Studio 并转到文件 菜单。选择新建 ,然后选择项目 。接下来,选择ASP.NET Core Web 应用程序 并单击下一步

现在,指定项目名称、位置和解决方案名称(例如AngularViewer ),然后单击创建

继续选择平台:在此示例中,选择 .NET 8 或更高版本。确保禁用配置 HTTPS 选项,然后单击创建

安装 NuGet 包

您可以联系慧都在线客服,安装Stimulsoft.Reports.Angular.NetCore NuGet 包:

  • 在项目的上下文菜单中,选择管理 NuGet 包
  • 选择一个元素并指定包版本;
  • 单击**"安装"**。

接下来,您需要按照以下步骤将ViewerController 添加到Controllers文件夹:

  • 打开Controllers 文件夹的上下文菜单并选择添加项目
  • 选择控制器... 并将控制器类型设置为MVC 控制器 -- 空
  • 单击添加 并输入控制器名称,例如ViewerController
  • 再次单击**"添加" 。**

接下来,继续处理报告:在项目中创建一个Reports文件夹,创建一个模板,例如 MasterDetail.mrt ,并在 ViewerController.cs 中插入以下代码:
ViewController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Stimulsoft.Report;
using Stimulsoft.Report.Angular;
using Stimulsoft.Report.Web;

namespace AngularViewer.Controllers
{
    [Controller]
    public class ViewerController : Controller
    {
        static ViewerController()
        {
            // How to Activate
            //Stimulsoft.Base.StiLicense.Key = "6vJhGtLLLz2GNviWmUTrhSqnO...";
            //Stimulsoft.Base.StiLicense.LoadFromFile("license.key");
            //Stimulsoft.Base.StiLicense.LoadFromStream(stream);
        }

        [HttpPost]
        public IActionResult InitViewer()
        {
            var requestParams = StiAngularViewer.GetRequestParams(this);

            var options = new StiAngularViewerOptions();
            options.Actions.GetReport = "GetReport";
            options.Actions.ViewerEvent = "ViewerEvent";
            options.Appearance.ScrollbarsMode = true;

            return StiAngularViewer.ViewerDataResult(requestParams, options);
        }

        [HttpPost]
        public IActionResult GetReport()
        {
            var report = StiReport.CreateNewReport();
            var path = StiAngularHelper.MapPath(this, $"Reports/MasterDetail.mrt");
            report.Load(path);

            return StiAngularViewer.GetReportResult(this, report);
        }

        [HttpPost]
        public IActionResult ViewerEvent()
        {
            return StiAngularViewer.ViewerEventResult(this);
        }
    }
}

此外,您还应通过启用 CORS 策略和定义 Angular 的回退机制来配置 .NET 服务器。这应在Program.cs 文件中完成**。**

Program.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllersWithViews();
builder.Services.AddCors(options =>
{
    options.AddDefaultPolicy(policy =>
    {
        policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
    });
});

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}

app.UseDefaultFiles();
app.UseStaticFiles();

app.UseRouting();
app.UseCors();
app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Use(async (context, next) =>
{
    await next();
    if (context.Response.StatusCode == 404 && !context.Request.Path.Value.StartsWith("/api"))
    {
        context.Request.Path = "/index.html";
        await next();
    }
});

app.Run();

接下来,在文件资源管理器 中打开项目文件夹,并使用npm 安装必要的 Angular-client 组件。

控制台

npm install stimulsoft-viewer-angular

关闭控制台,删除ClientApp 文件夹,重新打开控制台,输入以下命令:

Console

ng new ClientApp

选择CSS 格式,按Enter ,关闭控制台,然后导航到ClientApp 文件夹。

再次打开控制台并安装stimulsoft-viewer-angular :

控制台

npm install stimulsoft-viewer-angular

关闭控制台。在文本编辑器中打开目录" ...ClientApp\src\app\ "中的 app.module.ts 文件并添加StimulsoftViewerModule 。然后将以下代码插入app.module.tsapp.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { StimulsoftViewerModule } from 'stimulsoft-viewer-angular';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    StimulsoftViewerModule,
    HttpClientModule,
    BrowserAnimationsModule,
    FormsModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

在文本编辑器中打开目录" ...ClientApp\src\app\ "中的 app.component.html 文件并添加AppComponent 。然后将以下代码插入app.component.htmlapp.component.html

<stimulsoft-viewer-angular
  [requestUrl]="'http://localhost:5151/Viewer/{action}'"
  [action]="'InitViewer'"
  [height]="'100vh'"
></stimulsoft-viewer-angular>

转到 Visual Studio 并运行项目。您将看到一个带有指定报告的查看器。

相关推荐
I will.8742 分钟前
如何使用 CSS 实现黑色遮罩效果
前端·javascript·css
守城小轩18 分钟前
Chrome 扩展开发 API实战:Bookmarks(二)
前端·javascript·chrome
gqkmiss23 分钟前
Chrome 浏览器 133 版本新特性
前端·chrome·浏览器·chrome 浏览器
A阳俊yi32 分钟前
SpringMVC中有关请求参数的问题(映射路径,传递不同的参数)
java·前端·javascript
鱼樱前端1 小时前
Vue3 + TypeScript + Better-Scroll 极简上拉下拉组件
前端·javascript·vue.js
Trae首席推荐官1 小时前
Trae 功能上新:支持 Remote-SSH 和自定义模型配置
前端·后端·trae
影子信息1 小时前
element tree树形结构默认展开全部
前端·javascript·vue.js
Riesenzahn1 小时前
说说你对CSS中@layer的了解
前端·javascript
甜点cc1 小时前
前端每个组件外面套一层el-form,这样好吗?
前端·javascript·vue.js