扣扣熊 发表于 2020-12-9 09:47:45

【求助】关于ActivtReports14页面向报告传递参数的问题。

本帖最后由 扣扣熊 于 2020-12-14 11:27 编辑

一、环境
vs2017 MVC5
ActivtReports14
二、问题
1、在index.cshtml页面中有一列表,罗列了体检人信息,并且对应这每个人有一个体检报告。如下图:

但是每次打开都需要输入对应的ID号,这是不允许的。
2、在report.rdlx模板中已经做好了参数对应,入下图:

3、在前台js中加入了代码,传递参数,尝试传一个固定ID,到报告模板中。function selectViewReport()
    {
      var row = $('#List').datagrid('getSelected')
      $("#viewerContainer").window({ title: '查看报告', width: 1000, height: 600, iconCls: 'fa fa-level-down' }).window('open');
      var viewer = GrapeCity.ActiveReports.JSViewer.create({
            element: '#viewerContainer',
            reportID: 'NovelCoronavirus_Y.rdlx',
            reportParameters: [{
                name: 'id',
                value: ['2020112715263913855967aa7a742a8'],
            }],
            availableExports: ['Xml', 'Pdf', 'Excel'],
            reportService: {}
            // other properties
      });
    }

但是发现,用此方法用户依然需要手动输入ID。
不知道应当怎样进行编写?


KearneyKang 发表于 2020-12-9 09:47:46

你好,这个问题应该是你参数传值或者过过滤哪里存在问题导致的,主要还是写法上有问题,方便的话,你可以把你的报表文件什么的给我,我这边给研究下

KearneyKang 发表于 2020-12-9 10:49:59

你好,你的报表参数是否设置映射,就是这样:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=57898&extra=page%3D6

前端参数传值的具体教程:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=82480&extra=page%3D2

扣扣熊 发表于 2020-12-9 14:04:01

本帖最后由 扣扣熊 于 2020-12-9 14:09 编辑

KearneyKang 发表于 2020-12-9 10:49
你好,你的报表参数是否设置映射,就是这样:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&t ...
感谢回复,查看了自己报告,确实是映射做的不对,修改后可以冲index页面传值过去。并顺利的展示报告。
但是随之而来又出现一个新问题。
1、我的页面是一个列表,展示体检人信息。
现在点击“张三”传到报告页面张三ID,并展示张三报告。
关闭DIV后,接着点击“李四”传入李四的ID,但是展示的依然是张三的报告?????
报告页面是否需要刷新一下???
请告知,谢谢!!!!

KearneyKang 发表于 2020-12-9 16:05:46

你点击李四那么传递过去的参数值是否是李四的参数,你断点调试下看看后端参数的获取值是否是正确的

扣扣熊 发表于 2020-12-10 15:46:57

我确定,点击不同的行获取的ID是不同的,点击李四ID是123,点击杨建ID是456。
我发现一个问题,
当页面刚加载的时候,点击任何一个数据都能显示,但是接着点第二个数据的时候,DIV里的报表依然显示第一个数据。报告页面没有被刷新,是否存在一个reLold方法,需要重新加载一下报告??
页: [1]
查看完整版本: 【求助】关于ActivtReports14页面向报告传递参数的问题。