***S (SQL Server Report Service) 在IE9, IE10下顯示不全的解決辦法

        在做項目的過程中遇到***S與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-***s-report-viewer-issue-after-kb2888505/1e82a8b9-dea6-4351-90d3-7f4f47c4fb2a 找到解決方案。

解決方法:

  1.  打開 ***S的安裝目錄:c:\Program Files\Microsoft SQL Server\MSR11.MSSQLServer\Reporting Services\ReportServer\Pages 下面找到ReportViewer.aspx

  2.  先將其備份一份(Copy一份到原目錄即可),然後用記事本打開,在文件最後一個</script>標籤前加入如下代碼:            

    try {

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



  3. 保存ReportViewer.aspx。

  4. 清空客戶端瀏覽器緩存,然後重新打開報表,可以正常顯示了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章