天心天思技术部 发表于 2021-11-17 10:15:03

ActiveReport15 JSON 提供程序如何访问授权REST API并支持传参

https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=131972&extra=
这个测试了可以访问授权API,根据文档https://www.grapecity.com/activereportsnet/docs/v15/online/use-expression-in-json-provider.html使用表达式可以传参
传参和授权使用同时使用表达式里测试过不了

James.Lv 发表于 2021-11-17 11:13:49

JSON访问API可以这样进行访问:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=132405&extra=page%3D1

您是说授权和参数都是表达式不生效是吗?那您能提供一下您的带有授权的REST API接口地址不?我这边测试一下

天心天思技术部 发表于 2021-11-17 11:22:32

非常感谢你这个例子,我看这个jsondoc的url里传了参数
我需要的是可以动态绑定报表的参数,并把参数值传给jsondoc里的URL
method=POST;headers={"Content-Type": "application/json"};body={"dataSetDoc":{"name":"楼盘数据","query":{"dataSources":[{"id":"0e08eb20-b984-4ca0-ab28-6d85b515d6ec","name":"项目运营","fileName":null,"provider":null,"useAdvancedConfig":false,"connectionString":null,"mappingConfigs":null,"useUserContext":false,"useMultiTenant":false,"isExtracted":false}],"parameters":[],"commandText":"SELECT [楼号],[数值] FROM [楼盘数据] ","commandType":"Sql","commandModel":{"firstTable":{"id":"715464","tableType":"NativeTable","tableName":"楼盘数据(0e08eb20-b984-4ca0-ab28-6d85b515d6ec)","sql":null,"dataSourceId":"0e08eb20-b984-4ca0-ab28-6d85b515d6ec","unionType":"none","unionMap":null,"filters":[],"sQlExpressions":[],"tables":[]},"joinRelations":[]}},"fields":[{"table":"楼盘数据(0e08eb20-b984-4ca0-ab28-6d85b515d6ec)","column":"楼号","alias":"","description":"","dataType":"String","format":"","fieldType":"Normal","aggregation":null,"rawType":null,"msDescription":""},{"table":"楼盘数据(0e08eb20-b984-4ca0-ab28-6d85b515d6ec)","column":"数值","alias":"","description":"","dataType":"Number","format":"f2","fieldType":"Normal","aggregation":null,"rawType":null,"msDescription":""}],"groupFields":[],"customSqlTables":[],"filterExpressions":null,"filterConditions":{"conditionType":0,"conditionItems":[],"type":null,"table":null,"column":null,"expression":null,"operator":null,"value":null,"valueType":null,"targetType":null},"indexed":true,"tagIds":null,"comment":null,"incrementalUpdateSetting":null},"parameters":[],"uriParams":[]};jsondoc=http://localhost:51980/api/datasetmanagement/preview?ignoreusercontext=false&rowcount=100&token=959bcde9cde7eb36aa691e34c2f453b4af21d4541cb7fb98514c4583f38a2984&param1={@P1}

天心天思技术部 发表于 2021-11-17 11:32:14


我需要把报表参数传到jsondoc的URL里

James.Lv 发表于 2021-11-17 16:46:01

天心天思技术部 发表于 2021-11-17 11:32
我需要把报表参数传到jsondoc的URL里

明白了,这个我这边需要验证一下

天心天思技术部 发表于 2021-11-22 08:51:28

有没有实现同样功能的替换方案?

James.Lv 发表于 2021-11-22 18:18:58

天心天思技术部 发表于 2021-11-22 08:51
有没有实现同样功能的替换方案?

目前这个我没有试出来,不过我想到一个方式,就是您在您的程序里面提前把整个json的字符串内容获取到拼接好,然后在加载报表的时候,动态修改报表文件的数据源信息就行

天心天思技术部 发表于 2021-11-23 09:10:47

关键是在获取报表文件内容时候,并不知道在预览或展示报表时候所传的参数。

James.Lv 发表于 2021-11-23 17:35:47

那咱们有办法把参数放在自己的页面吗?然后相当于加载报表之前提前就知道参数了,然后再根据参数获取到数据,修改报表文件,再加载报表

我们报表本身的post传递参数,我这边提交给开发,看怎么实现,开发有反馈了我再联系您
页: [1]
查看完整版本: ActiveReport15 JSON 提供程序如何访问授权REST API并支持传参