2012-04-23 41 views
0

我正在ASP.NET WebForms应用程序中使用ReportViewer控件来显示(以及可选的导出/打印)报表。标准的东西真的。ASP.NET ReportViewer控件:使工具栏静态

但是,我的用户抱怨工具栏与报表内容一起滚动:因此,如果他们想要移动到下一页,则需要先滚动回页面顶部。

我找不到任何指示使工具栏变为静态的任何文章(例如,工具栏停留在页面顶部并且报表内容在下面滚动)。任何人都可以在这里指出我可能会允许的方法吗?

谢谢。

+0

如果它有所作为,我目前使用ReportViewer v10对付IE9。 – 2012-04-23 12:13:25

回答

0

按我对rt2800的回应意见,问题是有关根据ReportViewer控件设置的高度。我解决了这个小小的JavaScript,根据屏幕上的可用空间调整控件的大小...

<script type="text/javascript"> 
    function resizeFormToClientHeight() { 
     var reportViewer = document.getElementById("<%= form.ClientID %>"); 
     form.style.height = document.documentElement.clientHeight + "px"; 
    } 
    resizeFormToClientHeight(); 
    window.onresize = function resize() { resizeFormToClientHeight(); } 
</script> 
0

您是否为报表查看器设置了AsyncRendering =“True”?这将创建一个报表呈现在其中的iframe。这将允许报告独立滚动。我假设ShowToolBar =“true”存在于您的报告查看器标记中

+0

AsyncRendering = true和ShowToolBar = true都是控件的默认值,我已将它们保留原样。不幸的是,这并没有显示你期待渲染的IFrame。不过谢谢。 – 2012-04-23 12:12:53

+0

保护我的最后repsonse;我将高度设置为100%而不是像素数。只要我将ReportViewer控件的高度更改为固定数量的像素,滚动就开始工作。 – 2012-04-23 12:24:40

+0

虽然我仍然有问题;当我滚动新内容的背景颜色不正确时 - 报告的背景应该是白色的,但是当新内容滚动到视图中时,其背景是灰色的。有任何想法吗? – 2012-04-23 12:25:41

0

即使我使用报告查看器控件来显示webform上的数据。但是,对我而言,工具栏永远不会滚动。我已经把我的reportviewer控制代码放在下面。请检查它是否有帮助。

<rsweb:ReportViewer runat="server" ID="rvData" ShowCredentialPrompts="False" ShowDocumentMapButton="False" 
       ShowExportControls="true" ShowFindControls="False" ShowParameterPrompts="False" 
       ShowPrintButton="true" ShowPromptAreaButton="False" ShowRefreshButton="False" 
       ShowReportBody="True" ShowToolBar="true" ShowZoomControl="False" Visible="false" 
       ShowPageNavigationControls="true" BackColor="#C8C8C8" LinkActiveColor="#0066CC" 
       Width="100%" Height="600px"> 
     </rsweb:ReportViewer> 

如果你想在报表页眉(不是工具栏),以保持领先(冻结),我可以告诉你如何..