是否可以从自包含代码刷新 SSRS 报表



嗨,我正在制作一份报告,其中包含一些钻取报告。 其中一些计算的中值计算由 SSRS 生成报告时填充的数组生成。 我遇到的问题是,当有人从其中一个钻取中导航到"返回"报告时,由于数组不再有效,因此中位数计算不起作用。 这不是参数,而是 Code 函数。 所有的参数都来回传递得很好。

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

我一直在互联网上搜索,还没有找到任何可行的解决方案。

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

"注册用户"的建议非常接近我认为可行的建议。但是,如果在 SSRS 中使用默认的 GUI 钻取选项,则它可能不会始终完全重新加载报表,这可能会说明要查找的内容。

如果使用"操作"选项卡中的"转到 URL"选项

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

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

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

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

希望这有帮助!

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

有人在另一个论坛上问了一个与您类似的问题。 解决方案对我来说似乎有点矫枉过正。 我建议将上述解决方案与培训用户结合使用,以单击链接返回,而不是单击后退按钮。

最新更新