tangke888 发表于 2024-6-24 15:51:59

查看器在打开的时候,指定加载某个模板文件

本帖最后由 tangke888 于 2024-6-24 16:56 编辑


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


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



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

Felix.Li 发表于 2024-6-24 15:52:00

您好,那个是一个设计器,不是查看器的,但是其实可以给您说一下整个原理就行了。

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

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

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


Felix.Li 发表于 2024-6-24 17:06:31

问题描述:

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

问题回答:
报表对象创建的时候。可以传递报表名称:
GrapeCity.ActiveReports.Designer.create('#designer-id1', {      //控制生成标签
document: {             //打开已经设计的报表(默认在resource目录下的报表)
    id: "new.rdlx",      //指定报表名称
    type: {
      platform: "rdlx",//区域报表这里要改成rpx
      type: "report"
    }
}})即可打开已有报表

tangke888 发表于 2024-6-25 13:09:12

可以在 WebDesigner_CustomStore 的基础上,做个查看报表,view 的demo? 谢谢

Felix.Li 发表于 2024-6-25 18:19:24

您可以参考这个地址:
https://gcdn.grapecity.com.cn/showtopic-221509-1-1.html

tangke888 发表于 2024-6-25 18:39:04

看不明,还得请大佬,搞个demo,点醒一下

Felix.Li 发表于 2024-6-25 19:11:36

这个和设计器原理一样:

createViewer({
                element: '#' + options.element,
                reportService: {
                  url: 'api/reporting',
                },
                reportID: options.documentInfo.id,
                settings: {
                  zoomType: 'FitPage',
                },
                theme: options.theme
            });
这个里面有一个reportID。这个就是传报表名称,然后就可以打开指定报表

tangke888 发表于 2024-6-25 21:36:20



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

Eden.Sun 发表于 2024-6-26 09:33:32

tangke888 发表于 2024-6-25 21:36
搞不出来,还是要大佬 出手

您的代码片段看一下,createViewer 中的代码。这种显示不出来的浏览器控制台应该也有报错。您f12看一下,如果有的话,麻烦您把报错信息也给我们看一下。

tangke888 发表于 2024-6-26 15:57:40

帮忙直接搞一个
页: [1] 2
查看完整版本: 查看器在打开的时候,指定加载某个模板文件