【问题标题】:SSRS 2005 ReportViewer is 'Shrinking' my ReportsSSRS 2005 ReportViewer 正在“缩小”我的报告
【发布时间】:2010-09-30 13:19:47
【问题描述】:

我已经汇总了几份报告,它们在 Visual Studio 的预览中完全按照我想要的方式呈现,但是当我在 Web 浏览器中查看它们时,它们最初会按要求呈现,但很快就会被压缩到左半部分查看器的浏览器窗口。缩放级别设置为 100% - 将其设置为“页面宽度”会缩小报表以填满页面,但它不会更正初始“挤压”发生时的换行符。

有谁知道如何防止查看器进行这种调整大小?

另外,ReportViewer 是否会自动禁用其父浏览器窗口上的最大化按钮?我对这一切都很陌生......

谢谢,丹

【问题讨论】:

  • 丹,您使用的是哪种浏览器?对于 Microsoft 产品来说,这也许并不奇怪,我发现 SSRS 浏览器输出只能在 Internet Explorer 中真正查看。
  • 我在 IE6、7、8、FF3 和 Chrome 中都试过了。在所有浏览器中都会发生同样的事情,但在 FF 和 Chrome 中不太明显
  • @Mark 它在 Chrome、Firefox 中也失败了。

标签: reporting-services reportingservices-2005


【解决方案1】:

在使用 SSRS 2005 时,CHROME 中的报表缩小问题可以通过以下方案解决。它始终有效,即使您有多个页面并且导出报告。

要遵循的步骤:

  1. 打开页脚
  2. 在上面拖一个矩形
  3. 将矩形位置设置为:
    • 左 = 0
    • 顶部 = 0
  4. 将矩形大小设置为:
    • Width = "报表的宽度"
    • 高度 = 0.1

通过以上设置,矩形将不显示。

【讨论】:

  • 注意到了,尽管由于上述原因,所有浏览器都发生了这种情况。
  • 这是纯金!哦,这解决了我在 IE 中的问题。我不再将 chrome 用于报表服务器,因为它不能正确处理日期选择器字段。我想投票 1000 次。
  • 我在 IE 的 SSRS 2008 R2 中遇到了这个问题。使用此处描述的页脚修复它。
【解决方案2】:

我们公司的做法是插入一个页眉,在其上放置一个线条组件,使其与报表的宽度相同,并且是在运行时不会显示的中性色(打印)。

上述接受的解决方案并非在所有情况下都有效,尤其是当您设置订阅以通过电子邮件将报告发送给客户时。

【讨论】:

  • 我实际上在找到下面的解决方案之前尝试过,但它仍然继续缩小报告。
  • 我遇到了与上述相同的问题,并且接受的答案不起作用。我在标题中添加了一条跨越报告整个宽度的线,并且可以将其推回到整个宽度。
【解决方案3】:

我们的解决方法是通过 Javascript 增加 HeightWidth

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);
    }

}

【讨论】:

    【解决方案4】:

    经过大量挖掘,我找到了 SSRS 缩小报告的解决方案。 作为参考,你必须做三件事

    1. 从我的托管 aspx 页面中删除声明
    2. 将 ReportViewer 的 AsyncRendering 属性设置为 false。
    3. 将 ReportViewer 的 Width 属性设置为 100%

    显然,SSRS 2005 中的 XHTML 渲染引擎存在一个错误,现在通过 SSRS 2008 中的引擎重建修复了该错误。

    【讨论】:

    • 我还是有同样的问题。第 1 步“从我的托管 aspx 页面中删除声明”是什么意思?
    • 可能是宽度声明?好久没用SSRS了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多