我们很多时候会遇到这种场景,在保存报表的时候想给自己的系统保存另一些信息,也就是在保存报表的时候执行自己的方法。
那怎么做呢
我们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)
复制代码
|