找回密码
 立即注册

QQ登录

只需一步,快速开始

Felix.Li Wyn认证

超级版主

101

主题

2862

帖子

5401

积分

超级版主

Rank: 8Rank: 8

积分
5401

Wyn高级认证Wyn认证

Felix.Li Wyn认证
超级版主   /  发表于:2022-10-28 18:37  /   查看:1942  /  回复:0
我们很多时候会遇到这种场景,在保存报表的时候想给自己的系统保存另一些信息,也就是在保存报表的时候执行自己的方法。

那怎么做呢

我们API有专门暴露出来的save事件和open事件以及Create事件

那么如何使用呢,可以参考如下代码
  1. let viewer = null;

  2. let designerOptions = GrapeCity.ActiveReports.WebDesigner.createDesignerOptions();

  3. designerOptions.openButton.visible = true;
  4. designerOptions.saveButton.visible = true;
  5. designerOptions.saveAsButton.visible = true;

  6. designerOptions.openViewer = function (options) {
  7.   if (viewer) {
  8.     viewer.openReport(options.reportInfo.id);
  9.     return;
  10.   }
  11.   viewer = GrapeCity.ActiveReports.JSViewer.create({
  12.     locale: 'zh',
  13.     element: '#' + options.element,
  14.     reportService: {
  15.       url: 'http://10.32.210.245:58723/api/reporting',
  16.       onRequest: function (init) {
  17.         init.headers.Authorization = 'token';
  18.       }
  19.     },
  20.     reportID: options.reportInfo.id,
  21.     settings: {
  22.       zoomType: 'FitPage'
  23.     },
  24.   });
  25. };

  26. designerOptions.language = "zh"

  27. designerOptions.documentApiHandlers.onAfterSave = () => {
  28.   console.log("保存结束")
  29. }
  30. designerOptions.documentApiHandlers.onBeforeSave = () => {
  31.   console.log("保存前")
  32. }

  33. GrapeCity.ActiveReports.WebDesigner.renderApplication("ar-web-designer", designerOptions)
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

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