2015年11月14日 星期六

asp.net 4.0 ReportViewer IE9 報表欄位寬度顯示問題

asp.net 4.0 ReportViewer IE9 報表欄位寬度顯示問題

在 ASP.NET4.0 使用 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>

本文參考
ReportViewer doesn’t take full width in Internet Explorer

Written with StackEdit.

沒有留言:

張貼留言