找回密码
 立即注册

QQ登录

只需一步,快速开始

扣扣熊

注册会员

7

主题

16

帖子

55

积分

注册会员

积分
55
扣扣熊
注册会员   /  发表于:2020-12-9 09:47  /   查看:3595  /  回复:5
4金币
本帖最后由 扣扣熊 于 2020-12-14 11:27 编辑

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

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

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


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


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

最佳答案

查看完整内容

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

6 个回复

倒序浏览
最佳答案
最佳答案
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-9 09:47:46
来自 6#
你好,这个问题应该是你参数传值或者过过滤哪里存在问题导致的,主要还是写法上有问题,方便的话,你可以把你的报表文件什么的给我,我这边给研究下

点评

问题解决了。 那是因为,我显示报表的时候需要弹出一个新的DIV显示,关闭DIV的时候报表控件没有被刷新。只需要在下次打开DIV的时候重新刷新一下就可以。代码如下。 jQuery(document).ready(function () {   发表于 2020-12-14 11:26
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-9 10:49:59
2#
你好,你的报表参数是否设置映射,就是这样:
https://gcdn.grapecity.com.cn/fo ... &extra=page%3D6

前端参数传值的具体教程:https://gcdn.grapecity.com.cn/fo ... &extra=page%3D2

本帖子中包含更多资源

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

x
回复 使用道具 举报
扣扣熊
注册会员   /  发表于:2020-12-9 14:04:01
3#
本帖最后由 扣扣熊 于 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,但是展示的依然是张三的报告?????
报告页面是否需要刷新一下???
请告知,谢谢!!!!

本帖子中包含更多资源

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

x
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-9 16:05:46
4#
你点击李四那么传递过去的参数值是否是李四的参数,你断点调试下看看后端参数的获取值是否是正确的
回复 使用道具 举报
扣扣熊
注册会员   /  发表于:2020-12-10 15:46:57
5#
我确定,点击不同的行获取的ID是不同的,点击李四ID是123,点击杨建ID是456。
我发现一个问题,
当页面刚加载的时候,点击任何一个数据都能显示,但是接着点第二个数据的时候,DIV里的报表依然显示第一个数据。报告页面没有被刷新,是否存在一个reLold方法,需要重新加载一下报告??
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部