我正在研究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
答案 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生成作为单独的功能进行。