ASP.NET ReportViewer控件:使工具栏静态

时间:2012-04-23 11:59:12

标签: reportviewer webforms reporting-services

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

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

我找不到任何文章(此处或其他地方)指示使工具栏静态的任何方法(如,工具栏停留在页面顶部,报告内容滚动到下面)。这里的任何人都可以指出一种方法可以允许这个吗?

感谢。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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>

如果您希望报告标题(不是工具栏)保持在最顶层(冻结),我可以告诉您如何...

答案 2 :(得分: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>