Felix.Li 发表于 2022-10-28 18:37:06

如何在保存报表或者另存报表时调用自己的方法

我们很多时候会遇到这种场景,在保存报表的时候想给自己的系统保存另一些信息,也就是在保存报表的时候执行自己的方法。

那怎么做呢

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

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

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

designerOptions.openButton.visible = true;
designerOptions.saveButton.visible = true;
designerOptions.saveAsButton.visible = true;

designerOptions.openViewer = function (options) {
if (viewer) {
    viewer.openReport(options.reportInfo.id);
    return;
}
viewer = GrapeCity.ActiveReports.JSViewer.create({
    locale: 'zh',
    element: '#' + options.element,
    reportService: {
      url: 'http://10.32.210.245:58723/api/reporting',
      onRequest: function (init) {
      init.headers.Authorization = 'token';
      }
    },
    reportID: options.reportInfo.id,
    settings: {
      zoomType: 'FitPage'
    },
});
};

designerOptions.language = "zh"

designerOptions.documentApiHandlers.onAfterSave = () => {
console.log("保存结束")
}
designerOptions.documentApiHandlers.onBeforeSave = () => {
console.log("保存前")
}

GrapeCity.ActiveReports.WebDesigner.renderApplication("ar-web-designer", designerOptions)
页: [1]
查看完整版本: 如何在保存报表或者另存报表时调用自己的方法