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应用场景。
图1 Windows应用程序解决方案概览
图2 Web应用场景解决方案概览
实现说明
如前所述,我们解决的挑战之一(上文提到的挑战C)是与网络浏览器的图像失真有关:默认SSRS的HTML渲染器会让文本框和复选框控件、与设计好的相对于背景图片的位置有轻微偏移。产生这一结果的原因是,HTML标签生成的报表包含有一个HTML表格/网格和叠加于网格不同单元格中的控件(如编辑框)。这些单元格的坐标在不同的浏览器会以不同的方式计算(例如,Internet Explorer 7似乎是四舍五入到下一个整数),而且偏差会随着行和列的增加替增。不同的浏览器都会让最终的图像显示有不同的失真,但却没有一个浏览器能让报表实现像素级完美的呈现。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接