2011-07-12 129 views
3

我有一個網站,我建立並適用於IE8/IE9,Chrome和FireFox的每個人。但是,現在我的客戶正在要求這個在IE7中工作,因爲那裏的機器仍然有IE7。我無法弄清楚ReportViewer控件出了什麼問題。任何幫助,將不勝感激。IE7 ReportViewer控件

問題是我的報告超出了設定的高度和寬度;它不留,我纏着的DIV使用jQuery

jQuery代碼

$(document).ready(function() { 
      var htmlwidth = $('.main').width() - 20; 
      var htmlheight = $(document).height() - $('.header').height() - 45; 
      $('#<%= ReportViewer1.ClientID %>').wrap('<div style="overflow:auto;" />'); 
      $('#<%= ReportViewer1.ClientID %>').parent().css(height, htmlheight); 
      $('#<%= ReportViewer1.ClientID %>').parent().css('width', htmlwidth); 
      $('#<%= ReportViewer1.ClientID %>').css('width', htmlwidth); 
      $('#<%= ReportViewer1.ClientID %>').css(height, htmlheight); 
      $('#<%= ReportViewer1.ClientID %>').parent().css('border', 'solid 1px Black'); 
    }); 

內容

<asp:ScriptManager ID="scManager" runat="server"></asp:ScriptManager> 
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="100%" Width="100%" 
    SizeToReportContent="true" ZoomMode="Percent" AsyncRendering="false" > 
</rsweb:ReportViewer> 

樣品產生的塊{內容+ jQuery代碼內}

<div style="width:500px; overflow:auto; border:solid 1px Black;height:400px;"> 
    <asp:ScriptManager ID="scManager" runat="server"></asp:ScriptManager> 
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="400px" Width="500px" 
     SizeToReportContent="true" ZoomMode="Percent" AsyncRendering="false" > 
    </rsweb:ReportViewer> 
</div> 

回答

5

看起來像你面臨的IE7溢出問題。你可以閱讀更多關於它here

解決您的問題設置外層div有position: relative

以下行添加到您的jQuery:

$('#<%= ReportViewer1.ClientID %>').parent().css(position, relative); 

或添加以下到您的包裝( )

$('#<%= ReportViewer1.ClientID %>').wrap('<div style="overflow:auto; position:relative;" />'); 

最終的輸出應該是這個樣子:

<div style="width:500px; overflow:auto; border:solid 1px Black;height:400px; position:relative;"> 
    <asp:ScriptManager ID="scManager" runat="server"></asp:ScriptManager> 
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="400px" Width="500px" 
     SizeToReportContent="true" ZoomMode="Percent" AsyncRendering="false" > 
    </rsweb:ReportViewer> 
</div> 
+0

非常感謝,救了我幾個小時拔出我的頭髮! – Mike

+1

如果您在向後兼容模式下運行,這也會影響IE8 – d4nt