SSRS ReportViewer Web控件 - 如何在呈现为异步时完全不显示"WaitControl"?

Jaa*_*ans 4 asp.net reportviewer reporting-services

我在ASP.NET 4项目中使用最新的(2010)ReportViewer Web Control.我的客户希望我抑制/隐藏在获取报告时显示的初始"正在加载"消息.

是的......我知道......为什么隐藏信息告诉你发生了什么?但是,客户想要客户想要的东西.

我知道如果你使用AsyncRendering = False的报表查看器控件,那么你可以将WaitControlDisplayAfter属性设置为一个非常长的值.

不幸的是,我需要让AsyncRendering = True(在一个Dashboard类型上显示多个报告).这(根据MSDN http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.reportviewer.waitcontroldisplayafter.aspx请参阅备注部分)将意味着"等待控制"将始终显示.(GRR-R-RR!)

所以问题是,如何使用异步渲染显示此控件?

(客户问我的另一个问题是,他们想要在加载更新的报告时看到报告的缓存副本 - 这个报告的任何接受者?)

谢谢,Jaans

小智 6

我找到了一种通过使用jQuery操作DOM来隐藏加载消息的方法.使用reportviewer将以下脚本添加到页面中就可以了:

<script type="text/javascript">
    $(function () {
        var waitMsg = $("div[id$='AsyncWait_Wait']");
        waitMsg.wrap("<div style='display:none; visibility: hidden'></div>");
    });
</script>
Run Code Online (Sandbox Code Playgroud)


leq*_*qid 5

从 Joe Camp 的回答开始,以下内容对我有用。我将此条目添加到应用程序的 CSS 文件中:

div[id$='AsyncWait_Wait']
{
    display: none !important;
    visibility: hidden !important;
}
Run Code Online (Sandbox Code Playgroud)

在 IE8、IE9、Chrome 21、FF10、FF15 和 Safari(版本 5-ish,iPad3 iOS 5.1.1)中测试工作。