用于网页的SQL Reporting Services查看器-我们可以移动"查看报告"按钮吗?
时间:2020-03-05 18:41:42 来源:igfitidea点击:
使用查看器控件在网页(Microsoft.ReportViewer.WebForms)上显示SQL Reporting Services报告时,可以移动"查看报告"按钮吗?它默认位于报表的最右边,这意味着我们必须一直滚动直到按钮可见。对于适合窗口宽度的报表来说,这不是问题,但是对于非常宽的报表,这很快就成为问题。
解决方案
回答
不可以,我们无法在ReportViewer控件中重新定位视图报告按钮。
但是,我们可以创建自己的自定义报告查看控件。该控件将包含用于报告参数的字段和一个用于生成报告的按钮。当用户单击按钮时,我们可以在后台生成报告。我们可以将报告显示为PDF,HTML等。
回答
这是一种hack,但是我们可以使用JavaScript进行移动。只需查看ReportViewer生成的HTML,然后编写相应的JavaScript代码即可移动按钮。我使用JavaScript隐藏了该按钮(因为我们想要我们自己的"查看报告"按钮)。任何操纵生成的ReportViewer HTML的JavaScript代码都必须位于.aspx页中的ReportViewer控件之后。这是隐藏按钮的代码,可让我们大致了解要执行的操作:
function getRepViewBtn() { return document.getElementsByName("ReportViewer1$ctl00$ctl00")[0]; } function hideViewReportButton() { // call this where needed var btn = getRepViewBtn(); btn.style.display = 'none'; }
回答
将按钮移到右侧的原因是参数的td的宽度为=" 100%"。我正在使用以下jquery解决此问题。它只是将参数td的宽度更改为1. 浏览器将自行将宽度扩展为元素内容的宽度。希望这可以帮助。
<script type="text/javascript"> $(document).ready(function() { $("#<%= ReportViewer1.ClientID %> td:first").attr("width", "1"); }); </script>