部署报表和子报表后,s-s-rS 无法呈现子报表

Posted

技术标签:

【中文标题】部署报表和子报表后,s-s-rS 无法呈现子报表【英文标题】:s-s-rS fails to render subreports after report and subreport are deployed 【发布时间】:2019-07-02 19:26:29 【问题描述】:

s-s-rS 子报告在部署后无法正确显示。

我在 s-s-rS(通过 Visual Studio)中开发(实际修改)了一份报告。报表和子报表在 VS 报表设计器中正常显示,但在我部署报表后,主报表正确呈现,但两个子报表无法呈现。

有什么想法吗?

子报表在从 Visual Studio 运行时正确呈现,但在部署后不正确

【问题讨论】:

我同意@steve-o169 的回答,这基本上是路径问题。我通常在“Dynamics crm”上使用 s-s-rS,在那里我分别部署两个报告,但随后从 UI 中我可以选择为子报告选择父报告,然后它会正确显示报告。 【参考方案1】:

我怀疑您的问题源于用于在 .rdl 中引用您的子报告的路径。通常,在本地环境中开发报表时,需要子报表的完整路径——无论子报表的 .rdl 是保存在报表服务器上还是本地文件系统上。根据我的经验,当文件上传到报表服务器时,完整路径通常会中断或变得不准确。使用相对路径并将所有 .rdl 文件存储在报表服务器上的同一文件夹中通常更容易。例如,差异可以如下所示。

完整路径:

https://server/site/library/folder/Report1.rdl
C:/Reports/AllSubreports/Subreport1

相对路径:

../AllSubreports/Subreport1
Subreport1

这通常是我的报告存在的问题,尽管您的报告可能有其他原因。更多信息请参考this Microsoft documentation link。

【讨论】:

Steve,3 个问题:1) 我是新来的 SO,当我回复你时,如何将 CRLF 插入 cmets 部分?我习惯使用 Alt-Enter 2) 如何更改子报表的部署路径?现在,它们与主报表在同一个文件夹中,但它们不是独立使用的,所以它们应该放在其他地方。 3) 将这两个子报表部署到这个新文件夹后,当我将主报表中的链接设置为这些子报表时,我是否只需选择报表服务器上的 rdl 文件? 顺便说一句,使用 VS 2010 查看本帖评论:***.com/questions/56977805/…

以上是关于部署报表和子报表后,s-s-rS 无法呈现子报表的主要内容,如果未能解决你的问题,请参考以下文章

子报表可见性

s-s-rS 有条件地运行 SQL/DataSet

根据参数在s-s-rS中隐藏子报告(并且不执行存储过程)

将 Tablix 和子报表保持在同一页面上

将 s-s-rS 子报表嵌入主报表

无法在 s-s-rS 2008 中部署报表模型