WinForm应用程序框架设计之WinAction(新增数据)

我们来先看看WinAction的新增数据的流程:

源码参考:

 

        public virtual void NewEntityHandler(object entity, object caller, object sender, EventArgs e)
        {
            
//判断编辑窗体是否已打开
            Form eForm = CallEditForm(caller);
            
if (eForm is IEditDataForm)
            {
                IEditDataForm mEditForm 
= eForm as IEditDataForm;
                
if (eForm.Visible)
                {
                    
if (mEditForm.Entity is Entity && (mEditForm.Entity as Entity).IsNewEntity)//新增时再次进行新增
                    {
                        CommonFunctions.SetFormTop(eForm);
                        
return;
                    }
                    
if (caller is IDataControlActionView)//修改时进行新增
                        UnloadEditEntityEvent(caller as IDataControlActionView);
                }
                LoadEditForm(EditForm);
            }

            T mEntity 
= GetNewEntity();
            
if (mEntity is Entity)
                (mEntity 
as Entity).IsNewEntity = true;
            
if (eForm is IBindEntityAware)
                (eForm 
as IBindEntityAware).BindEntity(mEntity);
            
if (caller is IDataListView && (caller as IDataListView).DataList is IList)
                ((caller 
as IDataListView).DataList as IList).Add(mEntity);

            
if (caller is IDataControlActionView)
                LoadEditEntityEvent(caller 
as IDataControlActionView);

            
if (eForm.Visible)
                CommonFunctions.SetFormTop(eForm);
            
else
                eForm.Show();
        }

原创作品出自努力偷懒,转载请说明文章出处http://blog.csdn.net/kfarvid或 http://www.cnblogs.com/kfarvid/

原文地址:https://www.cnblogs.com/kfarvid/p/2172308.html