DevExpress Report Preview Show ProgressBar

       最近在用DevExpress Report做报表,根据一系列查询条件,然后Show报表。

       今天在测试的过程中发现,如果资料量多的话,在报表呈现出来之前,画面上没有任何提示。这样对于使用者来说是不好的,应该提供一下报表显示的进度。

       在网上找到了这篇文章:How to: Show a Progress Bar while a Document Is Being Generated.根据这篇文章,我做了些许改动。

       定义了一个Report的类。如下:

  class Report
    {
        #region ShowPreview
        /// <summary>
        /// ShowPreview报表的时候,显示进度条。
        /// </summary>
        /// <param name="report"></param>
        public static void ShowPreview(XtraReport report)
        {
            // 建立一个Form用来显示progressBar
            XtraForm form = new XtraForm();
            form.FormBorderStyle = FormBorderStyle.None;
            form.Size = new System.Drawing.Size(300, 25);
            form.ShowInTaskbar = false;
            form.StartPosition = FormStartPosition.CenterScreen;
            form.TopMost = true;
 
            //建立一个ProgressBar , ReflectorBar.
            ProgressBarControl progressBar = new ProgressBarControl();
            progressBar.Properties.PercentView = true;
            ReflectorBar reflectorBar = new ReflectorBar(progressBar);
 
            // 把progressBar加入Form并Show。
            form.Controls.Add(progressBar);
            progressBar.Dock = DockStyle.Fill;
            form.Show();
 
            try
            {
                report.PrintingSystem.ProgressReflector = reflectorBar;
                report.CreateDocument();
            }
            finally
            {
                report.PrintingSystem.ResetProgressReflector();
                form.Close();
                form.Dispose();
            }
 
            report.ShowPreviewDialog();
        }
        #endregion
    }

调用:

RptLeaves  report=new RptLeaves();

Report.ShowPreview(report);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值