SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法

简介: 原文: SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法 在做项目的过程中遇到SSRS与IE9, IE10不兼容的情况,具体表现为报表页面在IE9 和 IE10下面只显示三分之一,靠左显示,下方有滚动条,右三分之二为空白。
原文: SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法

在做项目的过程中遇到SSRS与IE9, IE10不兼容的情况,具体表现为报表页面在IE9 和 IE10下面只显示三分之一,靠左显示,下方有滚动条,右三分之二为空白。查看源代码后发现,上面一个<tr>里只有一个<td>,并colspan=3, 下面报表内容区域的<tr>有三个<td>但前两个是hidden的。最初是想把表格结构调整下,去掉前面hidden的两个<td>,后来发现太麻烦不说,还改变了微软原来的表单内容。就在网上搜索解决方案,微软自己说是让客户使用兼容模式,这个问题确实在IE8下面是没有的,可是SharePoint 2013 运行在IE10的IE8模式下面和IE9的IE8模式下面又会导致大量的兼容性问题,果断放弃。后来在 http://answers.microsoft.com/en-us/ie/forum/ie10-windows_7/ie-10-ssrs-report-viewer-issue-after-kb2888505/1e82a8b9-dea6-4351-90d3-7f4f47c4fb2a 找到解决方案。整理如下:

1. 打开 SSRS的安装目录:c:\Program Files\Microsoft SQL Server\MSR11.MSSQLServer\Reporting Services\ReportServer\Pages 下面找到ReportViewer.aspx

2. 先将其备份一份(Copy一份到原目录即可),然后用记事本打开,在文件最后一个</scripte>标签前加入如下代码:

     try {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
            document.getElementById("ReportViewerControl_fixedTable").style.tableLayout = '';
        });
    } catch(e) {
        //ignore me alert("error");
    }

3. 保存ReportViewer.aspx。

4. 清空客户端浏览器缓存,然后重新打开报表,可以正常显示了。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章