SSRS报告设计不会继续使用CRM报告和ASP.net报告查看器

时间:2014-04-28 14:28:42

标签: asp.net reporting-services dynamics-crm-2011 reportviewer

我正在研究Microsoft Dynamics CRM报告并在SSRS vs2010中设计我的报告并导入到CRM报告中,然后通过asp.net报告查看器vs2012查看它们。

我在背景大文本框前面使用了几个文本框控件,根据用户显示动态文本。基本上我的报告有两层。并且所有两个图层都包含带有动态值的文本框。

但是当我从CRM或报告查看器查看报告时,它们都不支持我的设计。它在大背景文本框之后显示页面底部的前层文本框。

但是当我从报告查看器中保存pdf时,它具有正确的设计。 !!!!

如何让我的ssrs报告设计到CRM和asp.net报告查看器中。

任何评论都很有价值。

Mathee

/////////////////////////////////////////////// / 如何将报表的字节数组设置为报表查看器

byte[] reportByte = Singleton<ReportGenerationFacade>.Instance.createReport(service, param, paramVal, reportName);
        Response.Clear();
        MemoryStream ms = new MemoryStream(reportByte);
        Response.ContentType = "application/pdf";

将我的报告查看器视为

Microsoft.Reporting.WebForms.ReportViewer MyReportViewer;

我应该如何处理MyReportViewer。

Mathee

2 个答案:

答案 0 :(得分:1)

Reporting Services 可能在渲染重叠对象时遇到问题(编译解决方案时请参阅rsOverlappingReportItems警告)。

但通常一切都在打印布局中正确呈现或导出为PDF。

因此,在 Windows窗体中,您可以使用PrintLayout默认打开ReportViewer:rdlViewer.SetDisplayMode(DisplayMode.PrintLayout)

ASP.NET 中,您可以使用以下函数将报告直接打印到PDF:How to render client report definition files (.rdlc) directly to the Response stream without preview

我使用此功能的修改版本在弹出窗口中显示PDF。一些提示:使用MyReportViewer.LocalReport上的LocalReport.Render Method呈现您的报告并将其存储在Session.Item中作为Byte(),使用javascript window.open调用空弹出窗口,使用Response.OutputStream.Write显示报告在Page_Load事件中。

答案 1 :(得分:0)

最后我找到了问题的答案。我将报告呈现为图像格式,然后加载到系统中。然后pdf生成作为单独的功能进行。