我在 ASP.NET WebForms 应用程序中使用 ReportViewer 控件来显示(并可选择导出/打印)报告。标准的东西真的。
但是,我的用户抱怨工具栏会随着报告内容滚动:因此,如果他们想移动到下一页,则必须先滚动回页面顶部。
我找不到任何文章(此处或其他地方)表明任何使工具栏静态的方法(例如,工具栏位于页面顶部,报告内容在下方滚动)。这里有人可以指出一种可能允许这样做的方法吗?
谢谢。
我在 ASP.NET WebForms 应用程序中使用 ReportViewer 控件来显示(并可选择导出/打印)报告。标准的东西真的。
但是,我的用户抱怨工具栏会随着报告内容滚动:因此,如果他们想移动到下一页,则必须先滚动回页面顶部。
我找不到任何文章(此处或其他地方)表明任何使工具栏静态的方法(例如,工具栏位于页面顶部,报告内容在下方滚动)。这里有人可以指出一种可能允许这样做的方法吗?
谢谢。
您是否为 reportviewer 设置了 AsyncRendering="True"?这将创建一个在其中呈现报告的 iframe。这将允许报告独立滚动。我假设 ShowToolBar="true" 存在于您的报告查看器标记中
甚至我也使用报表查看器控件在 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>
如果您希望报告标题(而不是工具栏)保持在顶部(冻结),我可以向您展示如何..
根据我对 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>