找回密码
 立即注册

QQ登录

只需一步,快速开始

penley
金牌服务用户   /  发表于:2020-11-30 21:08  /   查看:5724  /  回复:17
本帖最后由 penley 于 2022-1-18 08:31 编辑

项目中需要无预览打印单据(不要查看,也不要导出pdf)。

  1. GrapeCity.ActiveReports.JSViewer.print({ reportID: 'ReportDemo/演示报表.rdlx', reportParameters });
复制代码


调用后,在定位数据源的方法中无法获取当前登录用户信息。会提示当前用户没有登录。

Startup.cs中,UseReporting的调用已经放在了认证、授权之后了。



说明:动态数据获取的方法没有问题,用viewer.print打印是正常的!

请问:无预览打印如何传递用户会话信息?



本帖子中包含更多资源

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

x

17 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-1 10:26:24
沙发
用户会话信息,你是需要在这里进行个传递报表参数还是别的什么需求
  1. GrapeCity.ActiveReports.JSViewer.print({ reportID: 'ReportDemo/演示报表.rdlx', reportParameters });
复制代码


回复 使用道具 举报
penley
金牌服务用户   /  发表于:2020-12-2 11:24:23
板凳
可能还是报表路径的问题,我将报表模板文件都直接放在了Reports下,就正常了。感谢!
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-2 11:53:36
地板
好的,问题解决了就好
回复 使用道具 举报
penley
金牌服务用户   /  发表于:2020-12-2 12:12:02
5#
主要问题好像出在rdlx中记录的名称 和 报表模板的物理文件名不一致导致。


rdlx以xml文件打开,里面的名称,有的报表中没有这一行,有的和报表模板文件名相同,有的还有路径。这个有用吗?什么时间更新的呢?

本帖子中包含更多资源

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

x
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-2 15:19:04
6#
这个,我还没有注意过这个XML打开的问题,我需要去试试
回复 使用道具 举报
penley
金牌服务用户   /  发表于:2020-12-2 15:49:12
7#
好像报表加载的时候,用的物理文件名称来定位。动态绑定数据源参数中拿到的是rdlx里的名称。
回复 使用道具 举报
penley
金牌服务用户   /  发表于:2020-12-2 15:51:45
8#
在app.UseReporting中的定位数据源方法中,有时候能拿到当前用户会话信息,有时候拿不到。我另一个同事的报表还是不行。
回复 使用道具 举报
penley
金牌服务用户   /  发表于:2020-12-2 16:49:36
9#


我在定位数据源的方法中,获取HttpContext。HttpContext居然有时候会出现null的情况,这也就导致下面的代码无法获取当前请求的用户信息。

假设我的报表文件为test.rdlx,我通过f12观察请求。我发现无预览打印发起了两次请求。

http://localhost:5000/api/reporting/reports/test.rdlx/export/pdf

http://localhost:5000/api/reporting/export/XrVxRJQ9mkebnFUnGmf46Q/test?

有时候会导致丢失上下文信息,导致应用无法在定位数据源的代码中获取当前用户信息。

本帖子中包含更多资源

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

x
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-12-2 18:40:54
10#
有时候出现有时候不出现,出现和不出现的报表之间有什么不同之处吗?看起来这个问题比较诡异
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部