Eden.Sun 发表于 2022-9-27 11:20:09

ARJS动态传参

本帖最后由 Eden.Sun 于 2022-9-27 15:51 编辑

今天我们介绍ActiveReportsJS传递动态参数的方法。GET类型的数据获取和参数传递可以参考下面的链接文档:
       https://help.grapecity.com.cn/pages/viewpage.action?pageId=50728626 我们今天的重点是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预览:
      



页: [1]
查看完整版本: ARJS动态传参