2012年8月28日

ReportViewer IE9 報表欄位寬度顯示問題

環境:
asp.net、.NET4.0、IE9



問題:
使用 ReportViewer 在 IE9 瀏覽時,報表內的表格欄寬,不會依照設計時所設定的寬度顯示



原因:
檢視 ReportViewer 所產生的 iframe 內,發現有一 <td width="100%" height="0/">,在某些瀏覽器下,該 <td> 會占據大量版面,導致原有的報表表格受到擠壓。



解決:
在網頁內加上 CSS 讓該 <td> 無效

<style type="text/css">

    td[id*='oReportCell'] {width:100%; !important;}
</style>


並在 ReportViewer 屬性加上 AsyncRendering="false" 使 iframe 套用外層的 CSS 屬性



範例:
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"

        Font-Size="8pt" Height="0px" ProcessingMode="Remote" Width="100%" AsyncRendering="false">
</rsweb:ReportViewer>


本文章參考:
http://faultbucket.ca/2011/10/reportviewer-doesnt-take-full-width-in-internet-explorer/

1 則留言:

匿名 提到...

學到了!為我解除了一塊大石,感謝!!!

ShareThis