找回密码
 立即注册

QQ登录

只需一步,快速开始

Felix.Li Wyn认证

超级版主

62

主题

2198

帖子

4220

积分

超级版主

Rank: 8Rank: 8

积分
4220

Wyn高级认证Wyn认证

Felix.Li Wyn认证
超级版主   /  发表于:2022-11-29 17:29  /   查看:1062  /  回复:0
很多时候我们都面临这样一个问题,我们设计的模板最终给别人使用,但是又不希望我们数据源信息被别人看到,是不是很头疼。没关系,办法肯定是有的了。

我们这里有两种推荐方法:
1.设置运行时数据源,那这种情况主要是数据源那里依旧可以被查看和使用,并走我们后端设计的数据源。
那这种方法我们其实有一个以前的教程了:https://gcdn.grapecity.com.cn/fo ... 0&fromuid=65049
那么根据这个就可以实现动态数据源的配置了。

2.那除了这种,还有第二种。主要是我们用户在新建的时候使用模板新建,我们又不希望客户查看到数据源信息,那我们就直接将数据源的可见模块直接删除掉
也就是用户无法自己配置数据源。模板中已经固定好。
那针对这种我们只需要增加一定的设置即可,将DataSources的visible设置为不可见即可,具体代码如下:
  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.           documentLoaded: () => console.log('The document is loaded entirely on the server'),
  15.           reportService: {
  16.             url: 'api/reporting',
  17.             onRequest: function (init) {
  18.               init.headers.Authorization = 'token';
  19.             }
  20.           },
  21.           reportID: options.reportInfo.id,
  22.         });
  23.       };
  24.       designerOptions.language = "zh"

  25.       GrapeCity.ActiveReports.WebDesigner.renderApplication("ar-web-designer", designerOptions).then((api) => {
  26.         api.settings.data.dataSources.visible = false
  27.       })
复制代码

那主要设置就是将api.settings.data.dataSources.visible = false即可
最终预览效果如下:


本帖子中包含更多资源

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

x

0 个回复

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