penley 发表于 2020-12-2 19:58:27

折磨了两天,我实在看不出什么原因了。麻烦你那边做个测试,好吗?
现在我这边”演示报表.rdlx“试了多次也能获取HttpContext,但
”汽运销售_地销提煤单.rdlx“总是不行,我把上面的文本框删除了很多也不行。

KearneyKang 发表于 2020-12-3 10:35:25

本帖最后由 KearneyKang 于 2020-12-3 14:05 编辑

根据你提供的两张报表,我这边进行了一一的 验证,发现两张报表最主要的区别就是报表选择的不同,演示报表.rdlx是使用RDL报表设计的,汽车销售是使用页面报表进行设计的,这是这两张报表最大的区别的,别的没有什么不一样的,你那边看看是不是RDL报表都可以获取,然后页面报表就获取不了。

penley 发表于 2020-12-4 11:39:33

本帖最后由 penley 于 2020-12-4 11:41 编辑

经过进一步验证。我分别创建一个页面报表,一个RDL报表 。但都无法获取HttpContext信息,可能是AR的bug,这个问题需要解决,否则动态数据源无法以当前用户进行过滤了。
目前测试,仅出现在无预览打印和导出上,预览后再调用viewer的print没有问题。但全局的print和export都有问题。

KearneyKang 发表于 2020-12-4 11:51:18

你给我一个简单的可以重现问题的demo,我这边先重现问题,然后再反馈给我们研发,谢谢:)

penley 发表于 2020-12-4 15:08:29

一、环境:
asp.net core 3.1 mvc项目
GrapeCity.ActiveReports.Aspnetcore.Viewer Version="14.2.2655"

二、报表
文件位置:/Reports
数据源:ObjectProvider

三、后端初始化代码
Startup.cs



四、前端
页面元素及js都在Views/Home/Index.cshtml中

五、运行
Startup.cs中定位数据源的代码上设置断点,查看httpContext的获取情况
                  var httpContext = _services.BuildServiceProvider().GetRequiredService<IHttpContextAccessor>().HttpContext;

主页有三个按钮:
1、预览后打印: 正常
2、无预览打印: 无法获取会话
3、导出pdf: 无法获取会话

另外,最早我提的动态数据源生成的数据集无法做为参数待选和默认值,我觉得也是产品问题。数据集的使用应该与数据源类型无关才对。

KearneyKang 发表于 2020-12-4 16:30:04

收到,我这边去 验证下,先重现问题

penley 发表于 2020-12-4 17:32:29

另外,无预览打印和导出,中文乱码。
预览时如下:



无预览打印或导出如下:

KearneyKang 发表于 2020-12-4 17:53:56

问题都已经收到我这边一起去验证
页: 1 [2]
查看完整版本: JSViewer无预览打印,动态绑定数据源时无法获取登录信息