找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证

超级版主

114

主题

2779

帖子

5309

积分

超级版主

Rank: 8Rank: 8

积分
5309

Wyn高级认证Wyn认证

Eden.Sun Wyn认证
超级版主   /  发表于:2022-9-27 11:20  /   查看:1411  /  回复:0
本帖最后由 Eden.Sun 于 2022-9-27 15:51 编辑

  今天我们介绍ActiveReportsJS传递动态参数的方法。GET类型的数据获取和参数传递可以参考下面的链接文档:

  我们今天的重点是POST类型的接口如何动态传递参数以及如何传递数组类型的参数。


  1 后端接口设计:
   首先我们准备一个后端环境,并对外开放POST类型的接口(这个步骤我们不做过多介绍,大家根据自己的情况就行);
  

       接口:
            直接将参数的值获取,然后直接返回,这在接口上就是,输入的参数是什么内容,报表就显示什么内容:
  

  2 报表设计
  2.1 数据源:
    这里的数据源是空的,什么内容也没有,接口内容都放在数据集里面了:
  

    2.2  参数:
           添加报表参数:
    name: 姓名;
      ids:id字段
         

         
         

   2.3  数据集:
            Uri/路径:输入请求地址;
方法:选择 HTTP POST;
Post Body:写我们要传递的参数;
要注意,我们传递的是 json类型数据,所以,还要设置请求头。Content-Type:application/json

   
   
   2.4 预览
    启动后端环境,查看效果:
            

   3 传递数组型参数
   3.1 数据源
     数据源和 2.1 中的一样,都是空的;
   
   3.2 报表参数
     name 属性值不做改变;
     我们把 ids 的类修改为多值:
               

    新增一个参数:报表参数1, 参数值设置为 "," ;设置的是固定值,不需要改变,所以我们设置为隐藏:
   

        3.3  数据集设计:

       数据集要注意的是,ids 参数的传递,要借助 ”报表参数1“做处理:["{Join(@ids, ToString(@报表参数1))}"]  
       这个表达式的意思是:使用"报表参数1"对 ids参数进行拼接,处理的结果就做到了字符串数组的效果。
      

        3.4 后端接口:
          参数:
         

        接口:
        

     3.5  预览:

      




本帖子中包含更多资源

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

x

0 个回复

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