WEB开发网
开发学院数据库MSSQL Server SQL Server报表服务以及使用重叠数据 阅读

SQL Server报表服务以及使用重叠数据

 2010-01-21 00:00:00 来源:WEB开发网   
核心提示: 至此,我们已经创建了两个自定义ReportViewers:一个是针对Windows应用,SQL Server报表服务以及使用重叠数据(4),基于WinForms的 ReportViewer控件;另一个是针对Web场景,基于自定义aspx页通过web请求充分利用SSRS的功能,而且偏差会随着行和列

至此,我们已经创建了两个自定义ReportViewers:一个是针对Windows应用,基于WinForms的 ReportViewer控件;另一个是针对Web场景,基于自定义aspx页通过web请求充分利用SSRS的功能,同时内部调用WebForm ReportViewer控件。报表每一次在屏幕上显示时都会使用96 dpi的低像素图片,而在打印或导出报表时就会使用高分辨率的图片。由于报表的代码本身不能确定是在什么环境中被使用,我们就在报表中增加了一个名为 ForPrint的布尔型参数。我们的自定义代码会在报表是在被显示在屏幕上时将该参数设置为False,而当报表是在被打印或输出时,将其设置为 True。

我们的解决方案见下图所示:图1所示的是针对Windows应用,图2是针对各种Web应用场景。

SQL Server报表服务以及使用重叠数据

图1 Windows应用程序解决方案概览

SQL Server报表服务以及使用重叠数据

图2 Web应用场景解决方案概览

实现说明

如前所述,我们解决的挑战之一(上文提到的挑战C)是与网络浏览器的图像失真有关:默认SSRS的HTML渲染器会让文本框和复选框控件、与设计好的相对于背景图片的位置有轻微偏移。产生这一结果的原因是,HTML标签生成的报表包含有一个HTML表格/网格和叠加于网格不同单元格中的控件(如编辑框)。这些单元格的坐标在不同的浏览器会以不同的方式计算(例如,Internet Explorer 7似乎是四舍五入到下一个整数),而且偏差会随着行和列的增加替增。不同的浏览器都会让最终的图像显示有不同的失真,但却没有一个浏览器能让报表实现像素级完美的呈现。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:SQL Server 报表

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接