找回密码
 立即注册

QQ登录

只需一步,快速开始

Felix.Li Wyn认证

超级版主

101

主题

2856

帖子

5393

积分

超级版主

Rank: 8Rank: 8

积分
5393

Wyn高级认证Wyn认证

Felix.Li Wyn认证
超级版主   /  发表于:2023-6-13 14:55  /   查看:2000  /  回复:0
本帖最后由 Bella.Yuan 于 2023-6-19 14:33 编辑

ActiveReports 现在提供了一个新的网页设计器组件——Blazor Designer,一个集成在 Blazor 框架中的 JavaScript 控件。并且提供
       使用 .NET 代码处理服务器端的用户交互
         为开发人员提供用于打开报告、处理事件和自定义 UI 的 C# API

页面加载方法:

  1. @page "/"
  2. @inject IJSRuntime JSRuntime
  3. <PageTitle>Index</PageTitle>

  4. <link href="_content/GrapeCity.ActiveReports.Blazor.Viewer/jsViewer.min.css" rel="stylesheet" />
  5. <div id="designerContainer">
  6.     <ReportDesigner @ref="_designer" RpxSettings="@_rpx" AppBarSettings="@_appBar" DataSettings="@_data" PreviewSettings="@_preview" />
  7. </div>
  8. @code {
  9.     private ReportDesigner _designer;
  10.     private ReportViewer _viewer;

  11.     private RpxSettings _rpx;
  12.     private AppBarSettings _appBar;
  13.     private DataSettings _data;
  14.     private PreviewSettings _preview;

  15.     public Index()
  16.     {
  17.         _rpx = new RpxSettings
  18.         {
  19.             Enabled = true
  20.         };
  21.         _appBar = new AppBarSettings
  22.         {
  23.             OpenButton = new OpenButton { Visible = true }
  24.         };
  25.         _data = new DataSettings
  26.         {
  27.             DataSets = new DataSets { CanModify = true },
  28.             DataSources = new DataSources { CanModify = true }
  29.         };
  30.         _preview = new PreviewSettings
  31.         {
  32.             OpenViewer = OpenViewer
  33.         };
  34.     }

  35.     private async void OpenViewer(ViewerSettings settings)
  36.     {
  37.         if(_viewer != null)
  38.         {
  39.             await _viewer.OpenReport(settings.DocumentInfo.Id);
  40.             return;
  41.         }

  42.         _viewer = new ReportViewer();

  43.         var initOptions = new InitializationOptions();
  44.         initOptions.ReportID = settings.DocumentInfo.Id;
  45.         initOptions.PanelsLocation = PanelsLocation.toolbar;

  46.         initOptions.ReportLoaded = (reportInfo) =>
  47.         {

  48.         };

  49.         await _viewer.Render(JSRuntime, settings.Element, initOptions);
  50.     }
  51. }
复制代码

而且针对这个,我们也有专门的API去控制页面
具体可以参考如下链接:
https://www.grapecity.com/active ... ner-api-blazor.html

参考的Demo可以参考git代码示例:
https://github.com/activereports ... ples/BlazorDesigner

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部