在 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.
沒有留言:
張貼留言