爱飞的鱼_ 发表于 2024-8-17 20:28:16

ActiveReports获取不到参数问题

目前使用的是ActiveReports 18





前端使用createViewer方法加载报表时传递了reportParameters,但是后端无法获取到参数



后端代码:



查阅很多帖子,感觉别人都是可以获取到,为什么我不能获取呢?烦请指导一下,感激不尽





Felix.Li 发表于 2024-8-17 20:28:17

您好,这是我们测试了一下,您可以改一下:

Eden.Sun 发表于 2024-8-19 14:21:19

问题描述:
获取报表参数;

问题解决:
您好,您试试下面这个教程,将参数值拼接在报表文件名称后面,然后后端代码处理获取:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=69784&extra=page%3D2


此外,您的AR是什么版本的呢?从您的代码上来看,您直接使用的 create() 创建,首先这个方法是在报表文件内部传递参数,您需要先获取到报表文件,在从报表文件中获取参数值的。
这个方法在不同的版本可能不太一样,比如在15上是 create,AR17是createView。
您在这里根军您的版本来查询使用再试试呢:
https://developer.mescius.com/activereportsnet/docs/

爱飞的鱼_ 发表于 2024-8-20 15:59:46

我用的是AR18(GITHUB 下载的代码),只不过前端使用JS代码库我把15和18的都获取了下来,因为我发现18的没办法直接使用JSViewer.create方法来创建报表(您可以看下我注释的js代码片段)
但是现在不管使用create方式还是createViewer方式来创建报表都无法传递参数;我参考了很多其他帖子,貌似都可以传参为何我的不行?

此外,我还想了解下,如果我报表的数据想通过外部传参的方式给他设置进去该如何来实现呢?比如我展示时直接使用读取数据库方式来展示数据,但是打印的时候使用外部传参方式给他设置数据源

Eden.Sun 发表于 2024-8-21 10:26:04

本帖最后由 Eden.Sun 于 2024-8-21 10:28 编辑

不建议在AR18的项目中使用AR15的东西,版本不同,可能会有兼容性或者不可预测的问题。
    settings.LocateDataSource = args =>
    {
      var pa = args.Parameters.Value;

      DataTable dt = new DataTable();

      dt.Columns.Add("col1");
      dt.Columns.Add("col2");
      dt.Columns.Add("col3");

      dt.Rows.Add(1, 1, 1);
      dt.Rows.Add(2, 1, 1);
      dt.Rows.Add(3, 1, 1);
      dt.Rows.Add(4, 1, 1);
      dt.Rows.Add(5, 1, 1);
      dt.Rows.Add(6, 1, 1);

      return dt;
    };
});

另外您的这个问题,获取参数,在AR18中写法有变化,您可以参考一下:

Eden.Sun 发表于 2024-8-21 10:29:38

本帖最后由 lucas.Yan 于 2024-8-22 17:43 编辑

AR18JSViewer 的创建报表的方式,您可以参考:https://developer.mescius.com/ac ... izationOptions.html


其他的开放出来的api。也可以进行搜索查看。

Eden.Sun 发表于 2024-8-21 10:53:49

Eden.Sun 发表于 2024-8-21 10:29
AR18JSViewer 的创建宝宝的方式,您可以参考:https://developer.mescius.com/activereportsnet/docs/lat ...

您说的后面的问题,预览查看时直接读取数据库数据是正常的流程。

您说的打印的时候外部传参,不太明白您的具体使用场景。感觉想要不通过预览,直接把参数传到报表进行打印。
您可以看下这个静默打印的教程。可以在导出的时候添加参数,并且不用预览报表进行打印;
https://gcdn.grapecity.com.cn/showtopic-163480-1-1.html

爱飞的鱼_ 发表于 2024-8-21 17:39:55

你好,为了方便您这边帮忙确认问题原因我上传了一个附件程序,烦请帮忙看下是哪里的问题呢,非常感谢【抱拳】

Eden.Sun 发表于 2024-8-22 10:56:57

爱飞的鱼_ 发表于 2024-8-21 17:39
你好,为了方便您这边帮忙确认问题原因我上传了一个附件程序,烦请帮忙看下是哪里的问题呢,非常感谢【抱拳 ...

是打印的问题吗?那您开个新帖,咱们在新帖中协助您解决问题。一个帖子解决一个问题:lol

爱飞的鱼_ 发表于 2024-8-22 11:25:04

不是的,就是传参的问题,非打印问题
页: [1] 2
查看完整版本: ActiveReports获取不到参数问题