找回密码
 立即注册

QQ登录

只需一步,快速开始

上海翊廷
注册会员   /  发表于:2023-6-20 18:16:53
11#
本帖最后由 上海翊廷 于 2023-6-20 18:18 编辑
Felix.Li 发表于 2023-6-19 16:49
这个目前做不到,因为参数这个其实相当于打开了一个预制的报表,而且是给定死的,确实没办法说根据选不同 ...

好吧 下个问题   
  我根据你说的这个,但是这个只是传参  不能获取到用户自己输入的值,传给接口的还是原来的值

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-21 10:07:41
12#
上海翊廷 发表于 2023-6-20 18:16
好吧 下个问题   
  我根据你说的这个,但是这个只是传参  不能获取到用户自己输入的值,传给接口的还是原 ...

我理解,咱们是想把参数传给获取数据的接口,那这个操作是不在代码实现的,是在报表内部

比如如下

这个就是把参数给get请求的参数。然后在查询的时候,用户给参数赋值,参数给请求赋值,结果如下:

本帖子中包含更多资源

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

x
回复 使用道具 举报
上海翊廷
注册会员   /  发表于:2023-6-21 11:35:53
13#
本帖最后由 上海翊廷 于 2023-6-21 11:37 编辑
Felix.Li 发表于 2023-6-21 10:07
我理解,咱们是想把参数传给获取数据的接口,那这个操作是不在代码实现的,是在报表内部

比如如下

我在代码中写的这个参数,报表会默认多加一个“{”  怎么处理
导致无法传参,每次都要手动删除一下 这个有点难受

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-21 16:31:22
14#
这个不能直接这么拼,因为
{}是我们里面表达式的写法,他之所已变成{{是因为他把你的{转义的

{{ 转义后就是{  程序以为你就是要左括号。所以会出现这个情况
如果要自己拼的话需要首先把非表达式的地方用字符串拼接,其次表达式的地方用 & 表达式 & 拼接
Demo如下:=\"uri=https://jsonplaceholder.typicode.com/posts?userId=\" & Parameters!id.Value & \";jpath=$.
  • \"
    包括双引号这些,也都需要转义
    或者您可以参考这个文档:



    您把这个报表文件用文本编辑器打开,格式化为json  
    如下为它的格式:


  • 本帖子中包含更多资源

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

    x
    回复 使用道具 举报
    上海翊廷
    注册会员   /  发表于:2023-6-26 10:05:57
    15#
    Felix.Li 发表于 2023-6-21 16:31
    这个不能直接这么拼,因为
    {}是我们里面表达式的写法,他之所已变成{{是因为他把你的{转义的

    路径上面多个参数怎么拼接  比如 ?id=123213&name={@name} 使用你这种方式 直接就凭借到key上面去了,

    本帖子中包含更多资源

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

    x
    回复 使用道具 举报
    上海翊廷
    注册会员   /  发表于:2023-6-26 14:49:55
    16#
    上海翊廷 发表于 2023-6-26 10:05
    路径上面多个参数怎么拼接  比如 ?id=123213&name={@name} 使用你这种方式 直接就凭借到key上面去了,

    好了 处理好了
    回复 使用道具 举报
    Felix.LiWyn认证
    超级版主   /  发表于:2023-6-26 14:57:43
    17#
    本帖最后由 Eden.Sun 于 2023-7-4 14:58 编辑


    ************************************************最佳答案********************************************



    这种应该是咱们的字符串拼接错误了
    其实我们可以新建一个报表,手动添加多个参数,然后设置查询参数

    然后把这个报表保存,查看文件,就是一个json

    解析如下:
    1. "="uri=https://jsonplaceholder.typicode.com/posts?Parameter=" & Parameters!参数1.Value & "&Parameter1=" & Parameters!参数2.Value & ";jpath=$.[*]""
    复制代码
    我们可以参考这个,是不是有什么地方拼接不对


    如下是我的报表文件:

    本帖子中包含更多资源

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

    x
    回复 使用道具 举报
    上海翊廷
    注册会员   /  发表于:2023-6-27 17:19:00
    18#
    本帖最后由 上海翊廷 于 2023-6-27 17:20 编辑
    Felix.Li 发表于 2023-6-26 14:57
    这种应该是咱们的字符串拼接错误了
    其实我们可以新建一个报表,手动添加多个参数,然后设置查询参数

    我想咨询下  现在我们报表设计好了  我想在外部直接点击打印,我需要调用什么方法?  我在文档中没有找到,只找到了个Viewer().print() 这个方法,但是调用没有任何效果

    本帖子中包含更多资源

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

    x
    回复 使用道具 举报
    Felix.LiWyn认证
    超级版主   /  发表于:2023-6-27 17:32:51
    19#
    上海翊廷 发表于 2023-6-27 17:19
    我想咨询下  现在我们报表设计好了  我想在外部直接点击打印,我需要调用什么方法?  我在文档中没有找到, ...

    这个打印的前提是我们有正确加载一个viewer对象,也就是页面上有这么一个报表,但是我看咱们这个有点像无预览打印,就是不预览去打印,这种推荐使用另一种:
    1. const PDF = GC.ActiveReports.PdfExport;
    2.       const pageReport = new ARJS.PageReport();

    3.       await pageReport.load(mainReport);
    4.       if ('LicenseError' === pageReport.name) {
    5.         throw new Error('License Error');
    6.       }
    7.       const pageDocument = await pageReport.run();
    8.       pageDocument.print();
    复制代码
    pageReport.load(mainReport);
    就是加载报表,相当于正常的open(***);
    用这个可以做到不加载页面打印报表


    如果是加载页面,直接参考这个:https://demo.grapecity.com.cn/activereportsjs/demos/api/print/purejs
    回复 使用道具 举报
    上海翊廷
    注册会员   /  发表于:2023-6-28 16:21:19
    20#
    Felix.Li 发表于 2023-6-27 17:32
    这个打印的前提是我们有正确加载一个viewer对象,也就是页面上有这么一个报表,但是我看咱们这个有点像无 ...

    好的  设计的报表设计的好好的,但是预览就报这个错误是哪里的错?

    本帖子中包含更多资源

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

    x
    回复 使用道具 举报
    您需要登录后才可以回帖 登录 | 立即注册
    返回顶部