2014-01-08 25 views
3

我们正在使用Microsoft ReportViewer 11来显示我们的业务报告。 在我们的aspx页面,我们只是把它作为:ReportViewer 11与IE 11:报告高度超出限制

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

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

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

回答

3

请勿使用兼容模式,因为它不会更改页面的显示方式。相反,请设置文档模式。请参阅How to set doc mode

+1

出于文档目的。我按照建议添加了: StefanG

1

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

+1

明确写出这个HTML是有帮助的。它还有助于减少人们误解你的答案的可能性。 – ryanyuyu

0

我有与ReportViewer v10所述相同的问题。 它只出现在IE11上。其他浏览器工作正常。

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

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

我发现身高值并不重要。把任何价值在PX单位将工作。投入高度:100%;不工作。

2

试试这个:

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

+1

为我工作,很整齐,谢谢你 – codeulike

1

的问题是父元素高度甚至比你指定的溢出-Y子元素高度较小:自动在你父母的CSS也不会采取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';