找回密码
 立即注册

QQ登录

只需一步,快速开始

hexllo
金牌服务用户   /  发表于:2020-9-4 10:34  /   查看:2982  /  回复:7
1金币
参照JsViewerAPI中的openApi中传递了参数,但后端取不到,请问是怎么回事呢





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

最佳答案

查看完整内容

您好,你现在使用的是JSviewer 进行报表的 展示,然后后端想获取 报表的参数进行一个参数的过滤是吧。那么你可以这样操作: https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=69784&extra=page%3D2 关于其他的 JSviewer 的知识可以参考这个:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=75712&extra=page%3D1

7 个回复

倒序浏览
最佳答案
最佳答案
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-4 10:34:44
来自 5#
您好,你现在使用的是JSviewer 进行报表的 展示,然后后端想获取 报表的参数进行一个参数的过滤是吧。那么你可以这样操作:
https://gcdn.grapecity.com.cn/fo ... &extra=page%3D2
关于其他的 JSviewer 的知识可以参考这个:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-4 12:16:29
2#
您好

在前台为后台报表参数传值时,首先需要在报表设计时,为报表添加对应数量的参数,且需要在数据集参数中添加参数以映射到报表参数:https://gcdn.grapecity.com.cn/fo ... 7898&extra=page%3D2
这里的args.parameters[] 获取的就是数据集的参数。

前端传值格式参考:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D5







回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2020-9-4 14:10:20
3#
是否可以绕过报表传参,
直接创建一个Controller,在Action里接收参数,
然后new 一个Report,
通过Post请求业务方的Api,然后把返回的Json数据绑定到Report对象中,
再把这个对象返回出去呢?(Action的返回值为IActionResult)
回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2020-9-4 15:20:22
4#
另外我想问下这个参数是做什么用的,是获取viewer的数据源吗,我设置了之后,按F12里看,请求和之前是一样的

本帖子中包含更多资源

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

x
回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2020-9-4 15:59:28
6#
老师,我说下我们的需求,您看看有没有建议的解决方案:
项目环境是前后端分离,
前端是Vue,
后端是NetCore,
需要根据查询参数去请求业务API,
业务API返回JSON数据,
(为什么没有直接把参数添加到报表模板中直接连数据库查呢,是因为我们所有的数据都要经过数据权限的框架,每个角色能看哪些数据是由框架里自动处理的)

我们想把返回的JSON数据通过报表展示,
调用哪个API去获取业务数据是根据前端传递的参数来决定的,

在升级到14后,使用JsViewer来展示时,前端没有办法传递reportId以外的参数,
在StartUp里尝试使用UseCustomStore来获取拼装后的reportId,发现参数太长就传不过来(每个API都要带Bearer Token),

都不知道要怎么弄了,希望老师能给点建议,
要是有一个可能获取前端传参,请求json结果,再设置数据源的demo就好了.


回复 使用道具 举报
hexllo
金牌服务用户   /  发表于:2020-9-4 16:09:17
7#
在之前13时使用H5 的Viewer时,我们的流程是这样的:
前端把参数直接POST传递到我们Controller/Action中,
Action把参数解析后,设置参数Model,
转到View.cshtml页面,
该页面里有一个Viewer,
Viewer设置了reportService到一个asmx服务中,
asmx服务重写OnCreateReportHandler去请求业务方api,
从返回的json中组装一个Datatable返回,

现在到14使用core+JsViewer时,不知道怎么操作了
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-4 16:31:21
8#
你好,JSviewer和H5是两种不同的 方式,JSviewer现在已经没有你说的这个服务的方法了。服务的方法是在startUp的方法中进行对应的 操作的,关于JSviewer中 startUp中的可以看我刚刚给你的 那个JSviewer的资料就可以找到。如果 有什么不懂的可以 直接打我们的售后电话进行沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部