BOS进度条使用学习

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

BOS进度条使用学习

使用向导计算很多数据时,使用进度条给用户展示进度

向导触发进度条方法

public override void WizardStepChanging(WizardStepChangingEventArgs e)
        {
            base.WizardStepChanging(e);

            DoActionUnderNetworkControl();
        }
		private void DoActionUnderNetworkControl()
		{
			try
			{
				if (base.View.LayoutInfo.GetAppearance("FProgressBar") != null)
				{
					ProgressBar control = base.View.GetControl<ProgressBar>("FProgressBar");
					if (control != null)
					{
						control.Start(5);
						control.InvokeControlMethod("SetCurrentValue", 0);
						control.SetFoldingStyle(isfolding: true);
						control.Visible = true;
                        SetControlEnabled(enable: false);
                        _processRate = 0;
                        MainWorker.QuequeTask(base.Context, WizardCreateOutCostAdjustBill, delegate (AsynResult result)
                        {
                            AsyncCallback(result);
                        });
                        _processRate = 10;
                    }
				}
			}
			catch (Exception ex)
			{
				WriteLog();
				throw new KDException(ResManager.LoadKDString("操作不成功!", "003006000001954", SubSystemType.FIN), ex.Message);
			}
		}

WizardCreateOutCostAdjustBill 这个方法里面就是要处理的业务逻辑

		private void WizardCreateOutCostAdjustBill()
		{
			System.Threading.Thread.Sleep(2000);
		}


进度条刷新方法

	public override void OnQueryProgressValue(QueryProgressValueEventArgs e)
	{
            if (_processRate <= 95)
            {
                _processRate++;
            }
            e.Caption = string.Format("正在生成出库成本调整单{0}%", _processRate);
            e.Value = _processRate;
            if (e.Value >= 100)
            {
                SetProgressBarHide();
                SetControlEnabled(enable: true);
            }
        }


这个进度条,会等业务方法(WizardCreateOutCostAdjustBill )处理完,才关闭,但怎么样如实反映 业务进度,还不会用, 待再学习使用

BOS进度条使用学习

使用向导计算很多数据时,使用进度条给用户展示进度向导触发进度条方法public override void WizardStepChanging(WizardStepChangingEventA...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息