【问题标题】:Can you refresh a SSRS report from self contained code?您可以从自包含代码刷新 SSRS 报告吗?
【发布时间】:2013-11-15 01:18:40
【问题描述】:

您好,我正在制作一份报告,其中包含一些钻取报告。其中一些具有由 SSRS 生成报告时填充的数组生成的中值计算。我遇到的问题是,当有人从其中一个钻取“返回”到报告时,由于数组不再有效,因此中值计算不起作用。这不是参数,而是代码函数。所有的参数都来回传递就好了。

我现在有一个旁路来检查这种情况并在文本框中显示 Re-Calc,但我真正想做的是当这种情况发生时触发重新生成报告。

我一直在互联网上搜索,但尚未找到任何可行的解决方案。

我不想要自动刷新。我正在寻找要添加到报告代码或表达式中的内容,以触发报告的刷新。我已经可以确定何时需要在代码中发生,我只需要命令即可。

【问题讨论】:

    标签: reporting-services ssrs-2008-r2


    【解决方案1】:

    “注册用户”的建议非常接近我认为可行的建议。但是,如果您在 SSRS 中使用默认的 GUI 钻取选项,它可能并不总是完全重新加载报告,这可能是您发现的原因。

    如果您使用“操作”选项卡中的“转到 URL”选项(而不是“转到报告”选项),则会导致浏览器重新加载所有内容。我的轶事解释是,当您使用“转到报告”选项时,您正在 ReportViewer 框架内四处移动,因此它可能正在使用一些缓存来重新生成部分报告。当您使用“转到 URL”选项时,我相信它会强制您的浏览器离开当前页面并重新进入目标页面。

    This 链接包含有关报表服务器路径以及如何操作 URL 以控制页面感觉的良好信息。

    Here 是所有不同 URL 参数的资源,您可以在“转到 URL”选项中使用来控制页面的加载方式和传递的参数。

    要使用转到 URL 选项,您可以使用全局 ReportServer 和 ReportFolder 字段,这样您就不必每次都输入完整地址。此外,如果您想确保始终显示您的参数栏(我猜您指的是“选择框”),您可以使用 rs:Parameters=true URL 参数。仅供参考,“转到 URL”选项的其他优点之一是您可以集成所有 SSRS 功能和一些有限的 JavaScript 来真正控制页面的位置和方式。

    希望这会有所帮助!

    【讨论】:

    • 我最终做的是删除 SSRS tablix 中的计算,而是自行将数据填充到数据集中。更麻烦,但它产生了所需的视觉效果。
    • 我之前也遇到过类似(不一样,但类似)的问题,而且我总是最终没有使用自定义代码。据我所见,很多人都在做同样的事情。我发现很少有人提到遇到自定义代码问题并使用自定义代码找到合适的解决方案。
    【解决方案2】:

    不完全满足您的要求的一种可能的解决方案是在钻取报表上添加返回报表的链接。当您单击链接时,您可以将参数传递回原始报告,它将重新呈现报告。它不会帮助点击后退按钮的用户,但它会让您获得更好的用户体验。您甚至可以在显示 ReCalc 的字段上再次创建指向报告的链接,这样它们就不必点击刷新。

    有人在another forum 上提出了与您类似的问题。这个解决方案对我来说似乎有点矫枉过正。我建议使用上述解决方案并结合培训用户单击链接返回而不是单击返回按钮。

    【讨论】:

    • 是的,我在我的研究中遇到了那篇文章,我知道放置导航返回按钮的想法。但是当你这样做时,如果你传递参数,你就不会得到选择框,如果你没有传递参数,报告是空白的,你在运行报告之前重新填充了你的参数选择。都不符合我想要的功能。即使我把它作为一个赏金,我怀疑如果不将它包装到一个 .NET Web 应用程序中,而不仅仅是 SSRS,我想要的东西是不可能的。只是从那里的向导那里寻找一些清晰度。 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多