本帖最后由 Eden.Sun 于 2022-9-27 15:51 编辑
今天我们介绍ActiveReportsJS传递动态参数的方法。GET类型的数据获取和参数传递可以参考下面的链接文档:
我们今天的重点是POST类型的接口如何动态传递参数以及如何传递数组类型的参数。
首先我们准备一个后端环境,并对外开放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 后端接口: 参数:
接口:
|