0

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

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

我找不到任何文章(此处或其他地方)表明任何使工具栏静态的方法(例如,工具栏位于页面顶部,报告内容在下方滚动)。这里有人可以指出一种可能允许这样做的方法吗?

谢谢。

4

3 回答 3

0

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

于 2012-04-23T12:03:46.950 回答
0

甚至我也使用报表查看器控件在 web 窗体上显示数据。但是,对我来说,工具栏永远不会向下滚动。我把我的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>

如果您希望报告标题(而不是工具栏)保持在顶部(冻结),我可以向您展示如何..

于 2012-04-24T05:31:38.287 回答
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>
于 2012-05-20T14:01:28.147 回答