【问题标题】:ReportViewer 11 with IE 11: report height exceeds limits带有 IE 11 的 ReportViewer 11:报告高度超出限制
【发布时间】:2017-11-13 18:58:19
【问题描述】:

我们正在使用 Microsoft ReportViewer 11 来显示我们的业务报告。 在我们的 aspx 页面上,我们只是将其包含为:

<rsweb:ReportViewer ID="ReportViewer" runat="server" Width="830px" Height="800px" />

在我们的客户从 IE 10 升级到 IE 11 之前,一切都很顺利。 在 IE 10 中,报表在定义的大小内正确显示,显示滚动条, 当报告超出限制时。 Firefox 或其他浏览器也是如此。 相反,在 IE 11 中,报告以全长显示,这意味着报告超出了 下边框,不显示滚动条。当我在 IE 11 中激活兼容模式时,也会发生同样的情况。

PS:我们拥有所有服务包和最新的 reportviewer 2012 运行时。

【问题讨论】:

    标签: asp.net css reportviewer


    【解决方案1】:

    不要使用兼容模式,因为它不会改变页面的显示方式。而是设置文档模式。见How to set doc mode

    【讨论】:

    • 用于文档目的。我按照建议添加:
    【解决方案2】:

    试试这个:

    .repViewer{overflow-y:auto !important;}
    &lt;rsweb:ReportViewer ID="ReportViewer" runat="server"  Height="400px" CssClass="repViewer"&gt;

    【讨论】:

      【解决方案3】:

      将报表视图控件包装在一个 DIV 中,并将其高度设置为 800 像素,并将溢出设置为自动。这样您就不必修改默认的文档模式。

      【讨论】:

      • 自己明确写出这个 HTML 很有帮助。它还有助于减少人们误解您的答案的机会。
      【解决方案4】:

      问题是父元素高度小于子元素高度,即使您在父 css 中指定了 overflow-y:auto,它在 IE-11.0.40 版本中也不会采用。

      是IE新更新-KB4012204的问题

      我们必须在脚本中使用以下代码,问题将得到解决

      我只是将父元素高度分配给子元素来解决问题

          var div = document.getElementById('ctl00_body_rvReport_ctl10');
      if (typeof (div) != 'undefined' && div != null) div.style.height =div.parentElement.clientHeight + 'px'; 
      

      【讨论】:

        【解决方案5】:

        我遇到了与 ReportViewer v10 所述相同的问题。 它只出现在 IE11 上。其他浏览器也可以正常使用。

        我最终通过在我的报告 aspx 文件中添加一段代码来修复它。

        <style type="text/css">   
          div[id='yourreportid']
          { 
           height: 1px;   
          }
        </style>
        

        我发现高度的值并不重要。以 px 单位输入任何值都可以。放入高度:100%;不工作。

        【讨论】:

          猜你喜欢
          • 2014-03-26
          • 2014-03-22
          • 2018-11-14
          • 1970-01-01
          • 2014-10-16
          • 1970-01-01
          • 1970-01-01
          • 2015-10-20
          • 2015-04-27
          相关资源
          最近更新 更多