【问题标题】:SSRS ReportViewer Web Control - How to not show the "WaitControl" at all when rendering as Async?SSRS ReportViewer Web 控件 - 渲染为异步时如何完全不显示“WaitControl”?
【发布时间】:2010-07-24 03:31:43
【问题描述】:

我在 ASP.NET 4 项目中使用最新的 (2010) ReportViewer Web 控件。我的客户希望我禁止/隐藏在获取报告时显示的初始“正在加载”消息。

是的...我知道...为什么要隐藏告诉您正在发生的事情的信息?但是,客户想要客户想要的。

我知道,如果您使用带有 AsyncRendering=False 的报表查看器控件,那么您可以将 WaitControlDisplayAfter 属性设置为一个可笑的长值。

不幸的是,我需要 AsyncRendering=True(显示关于仪表板类型的多个报告)。这(根据 MSDN http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.reportviewer.waitcontroldisplayafter.aspx 参见备注部分)将意味着“等待控制”将始终显示。 (呜呜呜!)

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

(客户问我的一个问题是,他们是否希望在加载更新的报告时查看报告的缓存副本 - 有任何接受者吗?)

谢谢, 贾恩斯

【问题讨论】:

    标签: asp.net reporting-services reportviewer


    【解决方案1】:

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

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

    【讨论】:

    • 这不仅非常聪明,而且干净优雅!
    【解决方案2】:

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

    div[id$='AsyncWait_Wait']
    {
        display: none !important;
        visibility: hidden !important;
    }
    

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

    【讨论】:

    • 酷我不知道你可以在css中使用那个选择器,+1
    【解决方案3】:

    我也会推荐以上两个代码,因为它们有效且易于使用。但是如果没有成功,请使用这个。 添加下面的函数并在页面加载时调用它。

     private void HideLoadImage(Control ReportViewer)
    {
        foreach (Control c in ReportViewer.Controls)
        {
            if ((string.Compare(c.ID, "AsyncWait") == 0))
            {        
                c.Visible = false;
    
                }
            if (c.HasControls())
            {
                HideLoadImage(c);
            }
        }
    }
    

    【讨论】:

    • 我不推荐这个。至少在启用 ASP.NET AJAX 的情况下,执行此操作时会出现 Javascript 错误。
    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多