ReportViewer控件 - 高度问题

Dan*_*ard 30 asp.net reportviewer reporting-services

在我的asp.net应用程序中,我试图打开一个特定的报告.我有ReportViewer Control设置,宽度为100%,高度为100%.现在我希望这意味着报告将占据整个页面.令我惊讶的是,事实并非如此.在IE7中,它占据了页面的整个宽度,它只占用了一小部分高度.在Firefox中,宽度和高度都搞砸了.我让浏览器打开了一个占据几乎所有屏幕的新页面.有任何想法吗?

谢谢!

San*_*tos 69

这是我修复的方式,看一看

<div style="Width:auto;"> 
<form id="form1" runat="server" style="width:100%; height:100%;">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <rsweb:ReportViewer ID="rptViewer" runat="server" Width="100%" Height="100%" AsyncRendering="False" SizeToReportContent="True">
    </rsweb:ReportViewer>
</form></div>
Run Code Online (Sandbox Code Playgroud)

做魔术的事情是AsyncRendering ="False"SizeToReportContent ="True"其余的是基本的HTML.报告将按照设计显示.

可能会有一些额外的代码,但看看它是否适合您.

希望能帮助到你

  • 我喜欢这个解决方案 - 它似乎是所有提供的最干净的,但是当我在我的机器上执行大于最大窗口的报告时,我没有提供任何滚动条.有什么建议吗? (3认同)
  • 我没有显示滚动条的问题. (3认同)

小智 11

这是我修复它的方式,使用javascript动态设置高度,它适用于IE和Firefox.也适用于大于最大窗口大小的报表.

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%" ShowBackButton="True" ProcessingMode="Remote" />

<script language="javascript" type="text/javascript">
    ResizeReport();

    function ResizeReport() {
        var viewer = document.getElementById("<%= ReportViewer1.ClientID %>");
        var htmlheight = document.documentElement.clientHeight;
        viewer.style.height = (htmlheight - 30) + "px";
    }

    window.onresize = function resize() { ResizeReport(); }
</script>
Run Code Online (Sandbox Code Playgroud)


Ovi*_*diu 9

我在ReportViewer 11.0上遇到了同样的问题,对我来说设置的诀窍是什么

Height="100%" 
SizeToReportContent="true"

while keeping 

AsyncRendering="true"
Run Code Online (Sandbox Code Playgroud)

例如

<rsweb:ReportViewer ID="reportControl" runat="server" Width="750" Height="100%" AsyncRendering="true" SizeToReportContent="true">
Run Code Online (Sandbox Code Playgroud)

这实际上为控件生成了一个高度为"100%"的表.


mcc*_*ger 8

给它一个足够的静态高度,以适应报告的整个高度.据我所知,100%将无法工作,因为ReportViewer控件基本上由一个大div标签包装.


jam*_*ode 5

我知道这是一个老问题,但最近我仍在为这个问题而苦苦挣扎。看来以下内容在所有现代浏览器中都运行良好(仅测试了 IE8/9、Firefox 和 Chrome)。对我来说最重要的是 doctype 和 html 元素高度。

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        html, body, form { width: 100%; height: 100%; margin: 0; padding: 0 }
    </style>
</head>
<body>
  <form runat="server">
    <asp:scriptmanager runat="server" />
    <rsweb:ReportViewer ID="ReportViewerControl" Width="100%" Height="100%" runat="server" />
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)