3

私が構築したサイトがあり、IE8/IE9、Chrome、および FireFox のすべてのユーザーに適しています。ただし、マシンにはまだIE7があるため、クライアントはこれがIE7でも機能するように求めています。ReportViewer コントロールの何が問題なのかわかりません。どんな助けでも大歓迎です。

問題は、レポートが設定された高さと幅の範囲を超えていることです。jQueryを使用してラップしたDIV内にとどまりません

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>
4

1 に答える 1

5

IE7 オーバーフローの問題に直面しているようです。詳細については、こちらをご覧ください。

問題を解決するには、外側の div を設定しますposition: relative

次の行を jQuery に追加します。

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

または、以下をwrap()に追加します

$('#<%= 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>
于 2011-07-12T12:57:32.867 に答える