找回密码
 立即注册

QQ登录

只需一步,快速开始

zqhuang

注册会员

4

主题

28

帖子

102

积分

注册会员

积分
102
QQ
最新发帖
zqhuang
注册会员   /  发表于:2020-1-21 13:48  /   查看:6155  /  回复:19
本帖最后由 zqhuang 于 2020-4-2 15:35 编辑


原本在H5上的前台传参方式用jsviewer要怎么写?

本帖子中包含更多资源

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

x

19 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-1-21 14:22:46
沙发
您好,
可以参考如下代码:
viewer.openReport('json.rdlx',[{ name: 'ParOrderID', values: ['201902059']}] )
回复 使用道具 举报
zqhuang
注册会员   /  发表于:2020-1-21 14:40:02
板凳

还是取不到值,用的ar14,想将之前ar13上用的h5,改成jsviewer,但是无法前台进行参数赋值。

本帖子中包含更多资源

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

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-1-21 16:03:51
地板
您好,JSViewer 传参的代码是正确的。
如果没有获取,就必须查看下您的代码逻辑。您可以把重现问题的Demo给我发一下,我这边测试下,看看是哪里设置的问题。
回复 使用道具 举报
zqhuang
注册会员   /  发表于:2020-2-4 10:02:35
5#
demo源码
回复 使用道具 举报
zqhuang
注册会员   /  发表于:2020-2-4 10:04:31
6#
Lenka.Guo 发表于 2020-1-21 16:03
您好,JSViewer 传参的代码是正确的。
如果没有获取,就必须查看下您的代码逻辑。您可以把重现问题的Demo ...

源码已经上传,麻烦帮忙看下。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-2-4 10:32:23
7#
收到,正在验证中
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-2-6 10:45:10
8#
您好,
我这边测试您的示例都是正常的,我在报表中把参数拖拽到界面中用于显示值:

本帖子中包含更多资源

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

x
回复 使用道具 举报
zqhuang
注册会员   /  发表于:2020-2-6 14:58:31
9#
Lenka.Guo 发表于 2020-2-6 10:45
您好,
我这边测试您的示例都是正常的,我在报表中把参数拖拽到界面中用于显示值:

我现在需要在程序中获取到这个参数,而不是仅仅在报表中。
现在的问题是如何在程序中获取到我在jsviewer上传递进来的这个参数。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-2-6 15:56:30
10#
本帖最后由 Lenka.Guo 于 2020-2-6 16:04 编辑

JSViewer 传参是 JSViewer 的接口,在报表展示时候会传给报表,并生效。
如果是在程序中获取报表参数的值,我们一般采取报表名称拼接的方式。
可参考博客:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=69784&extra=page%3D1

1. 在 create 方法中设置 id option 时采用特殊的格式,如id: 'SalesDetail.rdlx' + ';' + $("#TextBox1").val()+';' + $("#TextBox2").val()
  1. <script type="text/javascript">
  2.     var viewer = GrapeCity.ActiveReports.JSViewer.create({
  3.         element: '#viewerContainer',
  4.         id: 'SalesDetail.rdlx' + ';' + $("#TextBox1").val()+';' + $("#TextBox2").val()  //报表名称和参数的传递
  5.         reportService: {}
  6.         
  7.     });
  8. </script>
复制代码


2. 在startup 函数里面通过使用Split函数  来分割reportid,并获取前台传递的值。
  1.     public object GetReport(string P)//获取报表名称和报表参数,进行一个对应的报表名称和参数的分割
  2.         {
  3.             string reportName = P.Split(';')[0];//报表名称;
  4.             string parameter1 = P.Split(';')[1];//参数1,这样就可以根据参数值进行数据的筛选了;
  5.             string parameter2 = P.Split(';')[2];//参数2;
  6.             PageReport rep=new PageReport();
  7.             
  8.             string path = System.Web.Hosting.HostingEnvironment.MapPath("~/");
  9.             rep.Load(new FileInfo(@"" + path + "Reports/" + reportName));
  10.             return rep.Report;
  11.         }
  12.       
复制代码


回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部