IE7 ReportViewer控件

Mik*_*ke 3 html reportviewer2008 internet-explorer-7

我有一个我建立的网站,适用于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');
    });
Run Code Online (Sandbox Code Playgroud)

内容

<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>
Run Code Online (Sandbox Code Playgroud)

示例生成块{content + jQuery Code}

<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>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 5

看起来你面临着IE7溢出问题.你可以在这里阅读更多相关信息

要解决您的问题,请设置外部div position: relative

将以下行添加到jQuery:

$('#<%= ReportViewer1.ClientID %>').parent().css(position, relative);
Run Code Online (Sandbox Code Playgroud)

或者将以下内容添加到wrap()中

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

最终输出应该如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)