原本在H5上的前台传参方式用jsviewer要怎么写
本帖最后由 zqhuang 于 2020-4-2 15:35 编辑原本在H5上的前台传参方式用jsviewer要怎么写?
您好,
可以参考如下代码:
viewer.openReport('json.rdlx',[{ name: 'ParOrderID', values: ['201902059']}] )
还是取不到值,用的ar14,想将之前ar13上用的h5,改成jsviewer,但是无法前台进行参数赋值。
您好,JSViewer 传参的代码是正确的。
如果没有获取,就必须查看下您的代码逻辑。您可以把重现问题的Demo给我发一下,我这边测试下,看看是哪里设置的问题。 demo源码
Lenka.Guo 发表于 2020-1-21 16:03
您好,JSViewer 传参的代码是正确的。
如果没有获取,就必须查看下您的代码逻辑。您可以把重现问题的Demo ...
源码已经上传,麻烦帮忙看下。 收到,正在验证中 您好,
我这边测试您的示例都是正常的,我在报表中把参数拖拽到界面中用于显示值:
Lenka.Guo 发表于 2020-2-6 10:45
您好,
我这边测试您的示例都是正常的,我在报表中把参数拖拽到界面中用于显示值:
我现在需要在程序中获取到这个参数,而不是仅仅在报表中。
现在的问题是如何在程序中获取到我在jsviewer上传递进来的这个参数。 本帖最后由 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()
<script type="text/javascript">
var viewer = GrapeCity.ActiveReports.JSViewer.create({
element: '#viewerContainer',
id: 'SalesDetail.rdlx' + ';' + $("#TextBox1").val()+';' + $("#TextBox2").val()//报表名称和参数的传递
reportService: {}
});
</script>
2. 在startup 函数里面通过使用Split函数来分割reportid,并获取前台传递的值。
public object GetReport(string P)//获取报表名称和报表参数,进行一个对应的报表名称和参数的分割
{
string reportName = P.Split(';');//报表名称;
string parameter1 = P.Split(';');//参数1,这样就可以根据参数值进行数据的筛选了;
string parameter2 = P.Split(';');//参数2;
PageReport rep=new PageReport();
string path = System.Web.Hosting.HostingEnvironment.MapPath("~/");
rep.Load(new FileInfo(@"" + path + "Reports/" + reportName));
return rep.Report;
}
页:
[1]
2