在做項(xiàng)目的過(guò)程中遇到SSRS與IE9, IE10不兼容的情況,具體表現(xiàn)為報(bào)表頁(yè)面在IE9 和 IE10下面只顯示三分之一,靠左顯示,下方有滾動(dòng)條,右三分之二為空白。查看源代碼后發(fā)現(xiàn),上面一個(gè)<tr>里只有一個(gè)<td>,并colspan=3, 下面報(bào)表內(nèi)容區(qū)域的<tr>有三個(gè)<td>但前兩個(gè)是hidden的。最初是想把表格結(jié)構(gòu)調(diào)整下,去掉前面hidden的兩個(gè)<td>,后來(lái)發(fā)現(xiàn)太麻煩不說(shuō),還改變了微軟原來(lái)的表單內(nèi)容。就在網(wǎng)上搜索解決方案,微軟自己說(shuō)是讓客戶(hù)使用兼容模式,這個(gè)問(wèn)題確實(shí)在IE8下面是沒(méi)有的,可是SharePoint 2013 運(yùn)行在IE10的IE8模式下面和IE9的IE8模式下面又會(huì)導(dǎo)致大量的兼容性問(wèn)題,果斷放棄。后來(lái)在? 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. 打開(kāi) SSRS的安裝目錄:c:\Program Files\Microsoft SQL Server\MSR11.MSSQLServer\Reporting Services\ReportServer\Pages 下面找到ReportViewer.aspx
2. 先將其備份一份(Copy一份到原目錄即可),然后用記事本打開(kāi),在文件最后一個(gè)</scripte>標(biāo)簽前加入如下代碼:
? ??
?try {
?? ??? ?Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
?? ??? ??? ?document.getElementById("ReportViewerControl_fixedTable").style.tableLayout = '';
?? ???? });
?? ?} catch(e) {
?? ??? ?//ignore me alert("error");
?? ?}
3. 保存ReportViewer.aspx。
4. 清空客戶(hù)端瀏覽器緩存,然后重新打開(kāi)報(bào)表,可以正常顯示了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

