UI插件:表单按钮栏加按钮

        #region 字段与属性                                       
        private UFIDA.U9.MFG.MO.DiscreteMOUIModel.DiscreteMOMainUIFormWebPart _strongPart;
        #endregion
        IUFButton btnReCalMOOutPut = new UFWebButtonAdapter();
        private void Do_AfterInit(UFSoft.UBF.UI.IView.IPart part, EventArgs args)
        {
            base.AfterInit(part, args);
            #region 获取相关强类型数据                               

            _strongPart = part as UFIDA.U9.MFG.MO.DiscreteMOUIModel.DiscreteMOMainUIFormWebPart;
            if (_strongPart == null)
                return;

            #endregion

            #region 2.Card里面增加按钮
            btnReCalMOOutPut.Text = "重算产出";
            btnReCalMOOutPut.ID = "BtnReCalMOOutPut1";
            btnReCalMOOutPut.AutoPostBack = true;

            IUFCard card = (IUFCard)part.GetUFControlByName(part.TopLevelContainer, "Card1");
            card.Controls.Add(btnReCalMOOutPut);
            CommonFunction.Layout(card, btnReCalMOOutPut, 16, 0);

            btnReCalMOOutPut.Click += new EventHandler(btnReCalMOOutPut_Click);
            #endregion
        }
        // 数据获取后执行方法
        public override void AfterDataBinding(IPart part)
        {
            _strongPart = part as UFIDA.U9.MFG.MO.DiscreteMOUIModel.DiscreteMOMainUIFormWebPart;
            var rd = _strongPart.Model.MO.FocusedRecord;
            btnReCalMOOutPut = _strongPart.FindControl("BtnReCalMOOutPut1") as UFWebButtonAdapter;
            btnReCalMOOutPut.Enabled = rd != null && rd.ID > 0;
            base.AfterDataBinding(part);
        }
        void btnReCalMOOutPut_Click(object sender, EventArgs e)
        {
            _strongPart.DataCollect();
            _strongPart.IsDataBinding = true;

            var rd = _strongPart.Model.MO.FocusedRecord;
            if (rd != null && rd.ID > 0)
            {
                using (BPForEngine bp = new BPForEngine())
                {
                    try
                    {
                        new ReCalMOOutPut()
                        {
                            ID = _strongPart.Model.MO.FocusedRecord.ID
                        }.Do();
                        _strongPart.Action.NavigateAction.Refresh(null, true);
                    }
                    catch (Exception ex)
                    {
                        PDFormMessage.ShowAlertDialog(_strongPart, ex.Message);
                    }
                }
            }
        }

 

posted @ 2025-09-05 11:20  江境纣州  阅读(7)  评论(0)    收藏  举报