找回密码
 立即注册

QQ登录

只需一步,快速开始

tangke888 Wyn认证

高级会员

96

主题

295

帖子

1355

积分

高级会员

积分
1355

活字格高级认证Wyn认证活字格认证

QQ
tangke888 Wyn认证
高级会员   /  发表于:2024-6-24 15:51  /   查看:2280  /  回复:13
1金币
本帖最后由 tangke888 于 2024-6-24 16:56 编辑


ar18的这个示例中,查看器在打开的时候,如何指定加载某个模板文件,而不需要手动去打开文件


如下图:我要打开查看器的时候默认加载 testhky.rdxl



示例:https://github.com/activereports ... esigner_CustomStore

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

最佳答案

查看完整内容

您好,那个是一个设计器,不是查看器的,但是其实可以给您说一下整个原理就行了。 您如果报表是存的本地文件,其实参考上面的从文件获取即可。如果是别的方式存的,那就修改获取方式。: 需要实现这个类去获取报表 这个类实现两个,一个是获取报表,一个是加载类型。默认我们的文件都是XML文件类型存储的。所以GetReportDescriptor 直接获取类型0即可。 然后就是实现GetReport 接口,我们只要想办法把自己存储的报表XML文 ...

13 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-6-24 15:52:00
来自 14#
您好,那个是一个设计器,不是查看器的,但是其实可以给您说一下整个原理就行了。

您如果报表是存的本地文件,其实参考上面的从文件获取即可。如果是别的方式存的,那就修改获取方式。:

需要实现这个类去获取报表

这个类实现两个,一个是获取报表,一个是加载类型。默认我们的文件都是XML文件类型存储的。所以GetReportDescriptor 直接获取类型0即可。
然后就是实现GetReport 接口,我们只要想办法把自己存储的报表XML文件读取到就可以了。无论怎么存储的,读取到xml。然后返回对应的字节流即可。
下面是一个Demo。我们只要根据改自己获取报表文件的地方即可:


本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-6-24 17:06:31
2#
问题描述:

设计器按照指定模板打开报表

问题回答:
报表对象创建的时候。可以传递报表名称:
  1. GrapeCity.ActiveReports.Designer.create('#designer-id1', {      //控制生成标签
  2.   document: {             //打开已经设计的报表(默认在resource目录下的报表)
  3.     id: "new.rdlx",      //指定报表名称
  4.     type: {
  5.       platform: "rdlx",  //区域报表这里要改成rpx
  6.       type: "report"
  7.     }
  8.   }})
复制代码
即可打开已有报表
回复 使用道具 举报
tangke888Wyn认证
高级会员   /  发表于:2024-6-25 13:09:12
3#
可以在 WebDesigner_CustomStore 的基础上,做个查看报表,view 的  demo? 谢谢
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-6-25 18:19:24
4#
回复 使用道具 举报
tangke888Wyn认证
高级会员   /  发表于:2024-6-25 18:39:04
5#
看不明,还得请大佬,搞个demo,点醒一下
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-6-25 19:11:36
6#
这个和设计器原理一样:

  1. createViewer({
  2.                 element: '#' + options.element,
  3.                 reportService: {
  4.                     url: 'api/reporting',
  5.                 },
  6.                 reportID: options.documentInfo.id,
  7.                 settings: {
  8.                     zoomType: 'FitPage',
  9.                 },
  10.                 theme: options.theme
  11.             });
复制代码
这个里面有一个reportID。这个就是传报表名称,然后就可以打开指定报表
回复 使用道具 举报
tangke888Wyn认证
高级会员   /  发表于:2024-6-25 21:36:20
7#


搞不出来,还是要大佬 出手

本帖子中包含更多资源

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

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-6-26 09:33:32
8#
tangke888 发表于 2024-6-25 21:36
搞不出来,还是要大佬 出手

您的代码片段看一下,createViewer 中的代码。这种显示不出来的浏览器控制台应该也有报错。您f12看一下,如果有的话,麻烦您把报错信息也给我们看一下。
回复 使用道具 举报
tangke888Wyn认证
高级会员   /  发表于:2024-6-26 15:57:40
9#
帮忙直接搞一个
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部