Reporting services SSRS 2005 ReportViewer是';收缩';我的报告
我已经将几个报告放在一起,它们完全按照我希望它们在Visual Studio预览中的方式呈现,但是当我在web浏览器中查看它们时,它们最初会按照需要呈现,但会被查看器快速挤压到浏览器窗口的左半部分。缩放级别设置为100%-将其设置为“页面宽度”将缩小报告以填充页面,但不会更正初始“挤压”时的换行 是否有人知道如何防止查看器执行此操作 此外,ReportViewer是否会自动禁用其父浏览器窗口上的最大化按钮?我对这一切都很陌生Reporting services SSRS 2005 ReportViewer是';收缩';我的报告,reporting-services,reportingservices-2005,Reporting Services,Reportingservices 2005,我已经将几个报告放在一起,它们完全按照我希望它们在Visual Studio预览中的方式呈现,但是当我在web浏览器中查看它们时,它们最初会按照需要呈现,但会被查看器快速挤压到浏览器窗口的左半部分。缩放级别设置为100%-将其设置为“页面宽度”将缩小报告以填充页面,但不会更正初始“挤压”时的换行 是否有人知道如何防止查看器执行此操作 此外,ReportViewer是否会自动禁用其父浏览器窗口上的最大化按钮?我对这一切都很陌生 谢谢你,丹,经过更多的挖掘,我找到了解决SSR缩小我报告的方法。 作为
谢谢你,丹,经过更多的挖掘,我找到了解决SSR缩小我报告的方法。 作为参考,你必须做三件事
显然,SSRS 2005的XHTML呈现引擎中存在一个缺陷,现在已通过SSRS 2008中的引擎重建修复。我们公司的做法是插入页眉,在页眉上放置一个行组件,使其与报告的宽度相同,并使用中性颜色,在运行时不会显示(打印)
上述公认的解决方案不会在所有情况下都有效,尤其是当您设置订阅以通过电子邮件向客户端发送报告时。使用SSRS 2005时,CHROME中的报告收缩问题可以通过以下解决方案解决。它始终有效,即使您有多个页面并且导出了报告 应采取的步骤:
- 左=0
- Top=0
- Width=“报告的宽度”
- 高度=0.1
通过上述设置,矩形将不会显示。我们的解决方案是通过Javascript增加
高度
和宽度
:
var t1;
function manageWidthReportViewer(behID) {
t1 = window.setInterval("SetWidthForCrome()", 1);
}
function SetWidthForCrome() {
var mainReportViewer = document.getElementById('iFrameMainReportViewerContainer');
var reportFrame = mainReportViewer.contentWindow.document.getElementById('ReportFramereportViewer');
var report = reportFrame.contentWindow.document.getElementById("report");
if(mainReportViewer.contentDocument.getElementById("reportViewer") != null)
mainReportViewer.contentDocument.getElementById("reportViewer").childNodes[2].childNodes[1].childNodes[1].style.float = "left";
if (report!=null && report.contentDocument.getElementById("oReportCell") != null) {
report.contentDocument.getElementById("oReportCell").style.width="100%";
window.clearInterval(t1);
}
}
function SetReportViewerDim() {
var controlPanelHeight = screen.availHeight - 210;
var mainReportViewer = document.getElementById('iFrameMainReportViewerContainer'); //set
mainReportViewer.removeAttribute('height');
mainReportViewer.style.height = (controlPanelHeight-37) + "px";
var reportViewer = mainReportViewer.contentWindow.document.getElementById('reportViewer'); //set
reportViewer.style.height = (controlPanelHeight) + "px";
var reportFrame = mainReportViewer.contentWindow.document.getElementById('ReportFramereportViewer');
if (Sys.Browser.name == "Safari") {
manageWidthReportViewer(reportFrame);
}
}
丹,你在用哪个浏览器?对于微软的产品来说,我发现SSRS浏览器的输出只有在IE浏览器中才能看到,这也许并不奇怪。我在IE6、7、8、FF3和Chrome浏览器中也尝试过。同样的事情在所有浏览器中都会发生,但在FF和Chrome@Mark它在Chrome和Firefox中也失败了。实际上,在找到下面的解决方案之前,我已经尝试过了,但它仍然继续缩小报告。我遇到了与上面相同的问题,而公认的答案不起作用。我在页眉中添加了一行横跨整个报告宽度的内容,并将其推回到全宽度。注意,尽管出于上述原因,所有浏览器都出现了这种情况。这是纯金的!哦,这为我解决了IE中的问题。我不再在报表服务器上使用chrome,因为它不能正确处理日期选择器字段。我想投票1000次。我在IE的SSRS 2008 R2中遇到了这个问题。使用这里描述的页脚修复了它。我仍然有同样的问题。第1步“从我的托管aspx页面删除声明”是什么意思?可能是宽度声明?我已经很久没有使用SSR了。