找回密码
 立即注册

QQ登录

只需一步,快速开始

tangfan

注册会员

7

主题

20

帖子

67

积分

注册会员

积分
67
tangfan
注册会员   /  发表于:2024-1-26 20:26  /   查看:4673  /  回复:12
1金币
AR16 web设计器如何使用JS在打开的时候自动加载地址栏的传递的报表。
之前AR15可以通过reportInfo传递报表名称加载,AR16好像变了,没有reportInfo对象。

var designerOptions = GrapeCity.ActiveReports.WebDesigner.createDesignerOptions();
designerOptions.server.url = 'api';
designerOptions.reportInfo ='报表名称';

AR16的index.cshtml文件
  1. <script>
  2.     var viewer = null;
  3.     var designer = GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
  4.         rpx: { enabled: true },
  5.         appBar: { openButton: { visible: true } },
  6.         documents: { fileView: { visible: @(Context.Request.Query["fileView"].Equals("true").ToString().ToLower()) } },
  7.         data: { dataSets: { canModify: true }, dataSources: { canModify: true } },
  8.         preview: {
  9.             openViewer: (options) => {
  10.                 console.log(options);
  11.                 if (viewer) {
  12.                     viewer.openReport(options.documentInfo.id);
  13.                     return;
  14.                 }
  15.                 viewer = GrapeCity.ActiveReports.JSViewer.create({
  16.                     element: '#' + options.element,
  17.                     renderFormat: 'svg',
  18.                     reportService: {
  19.                         url: 'api/reporting',
  20.                     },
  21.                     reportID: options.documentInfo.id,
  22.                     settings: {
  23.                         zoomType: 'FitPage',
  24.                     },
  25.                 });
  26.             }
  27.         }
  28.     });
  29. </script>
复制代码





最佳答案

查看完整内容

您的需求应该是设计器打开的时候,默认打开一个报表吧,我上面说的那个,应该是在16的时候也可以用的。 AR16后,确实创建报表主要推荐使用create创建,这样子自己做一个option对象,就可以创建,比之前简单,所以新的写法确实是create的。 新写法可以参考这个帖子 https://gcdn.grapecity.com.cn/showtopic-164040-1-1.html 但是老版本的写法我们也是延续的,那种也是可以用的。下面是我的一个demo。您可以参考一下: ...

12 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-1-26 20:26:03
来自 12#
您的需求应该是设计器打开的时候,默认打开一个报表吧,我上面说的那个,应该是在16的时候也可以用的。

AR16后,确实创建报表主要推荐使用create创建,这样子自己做一个option对象,就可以创建,比之前简单,所以新的写法确实是create的。
新写法可以参考这个帖子
https://gcdn.grapecity.com.cn/showtopic-164040-1-1.html


但是老版本的写法我们也是延续的,那种也是可以用的。下面是我的一个demo。您可以参考一下:

本帖子中包含更多资源

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

x
回复 使用道具 举报
wengMQ悬赏达人认证
银牌会员   /  发表于:2024-1-27 17:03:56
2#

本帖子中包含更多资源

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

x
回复 使用道具 举报
wengMQ悬赏达人认证
银牌会员   /  发表于:2024-1-27 17:06:44
3#
【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区  https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-1-29 13:39:57
5#
您好,这块有一点修改,现在打开报表是多了一层结构传递ID即可:

designerOptions.reportInfo.id = "AcmeStore.rdlx"
也就是这样。其他的基本没有变化,也可以沿用
回复 使用道具 举报
tangfan
注册会员   /  发表于:2024-1-29 14:44:06
6#
Felix.Li 发表于 2024-1-29 13:39
您好,这块有一点修改,现在打开报表是多了一层结构传递ID即可:

designerOptions.reportInfo.id = "Acme ...

AR15是这样designerOptions.reportInfo = '@reportId' ? { id: '@reportId' } : null;
AR16这种方式不太行好像没这个对象


目前的解决方法是在报表创建完后再调用打开报表的api方法


.then(s => {
    if ('@reportId') {
        s.documents.openById(decodeURIComponent('@reportId'), { platform: 'rdlx', type: 'report' }).then(() => {
            console.log('An existing report "decodeURIComponent(@reportId)" is opened.');
        });
    }
});


想问问AR16有没有像AR15一样可以设置一个属性就能打开报表的方法

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-1-29 14:51:02
7#


您可以参考我的这个回复。

不过理论是您console的时候,其实这个就应该能输出出来的。
如果没有,我怀疑是您没有升级JS。
在更新时,除了Nuget,前端的JS和CSS都要更新的。都可以在NPM上下载。

"@grapecity/ar-viewer": "16.4.1",
"@grapecity/ar-designer": "16.4.1",

本帖子中包含更多资源

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

x
回复 使用道具 举报
tangfan
注册会员   /  发表于:2024-1-29 15:03:57
8#
您说的方法适合AR15,AR16不行,我是在GitHub - activereports/WebSamples16: Samples for ActiveReports Web Components上下的项目,package.json已经是您说的版本,

本帖子中包含更多资源

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

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-1-29 18:39:00
9#


您参考一下AR16的这里的有一个documentInfo 的id,您试一下这个:
https://developer.mescius.com/ac ... ght=documentinfo%2C



使用方式,可以参考一下这里的designer里面的使用:
https://github.com/activereports ... Design/Index.cshtml


本帖子中包含更多资源

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

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-1-31 09:31:35
10#
您好,您的问题解决了么?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部