zoukankan      html  css  js  c++  java
  • WinForm应用程序框架设计之WinAction(修改数据)

    我们来先看看WinAction的修改数据的流程:

    具体的参考代码:

            public virtual void EditEntityHandler(object entity, object caller, object sender, EventArgs e)
            {
                
    if (caller is IDataListView)
                {
                    IDataListView listForm 
    = caller as IDataListView;
                    
    if (null == listForm.DataList || (listForm.DataList is ICollection && (listForm.DataList as ICollection).Count == 0))
                        
    return;
                }

                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)//新增时进行修改
                        {
                            
    if (caller is IDataControlActionView)
                            {
                                
    //修改最后新增的记录
                                if ((entity as Entity).IsNewEntity)
                                {
                                    CommonFunctions.SetFormTop(eForm);
                                    
    return;
                                }
                            }
                            
    if (caller is IDataControlActionView && caller is IDataListView && (caller as IDataListView).DataList is IList)
                                (caller 
    as IDataControlActionView).RemoveLastNewRow();
                            
    if (caller is IDataControlActionView)//已经执行过修改
                                UnloadEditEntityEvent(caller as IDataControlActionView);
                        }
                        
    else
                        {
                            
    if (mEditForm is IBindEntityAware)
                                (mEditForm 
    as IBindEntityAware).BindEntity(entity);
                            CommonFunctions.SetFormTop(eForm);
                            
    return;
                        }
                    }
                    LoadEditForm(EditForm);
                }
                
    if (eForm is IBindEntityAware)
                    (eForm 
    as IBindEntityAware).BindEntity(entity);
                
    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/
  • 相关阅读:
    ES6对象的扩展
    ES6函数的扩展
    ES6新增变量
    ES6框架的搭建
    自适应布局 左右结构、上下结构
    iframe 子页面改变父页面样式
    检测终端类型
    $.grep()
    点击元素内部不隐藏,点击元素外部元素隐藏
    angular表单验证
  • 原文地址:https://www.cnblogs.com/kfarvid/p/2172310.html
Copyright © 2011-2022 走看看