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/
  • 相关阅读:
    使用CustomValidate自定义验证控件
    C#中金额的大小写转换
    Andriod出错之Unable to build: the file dx.jar was not loaded from the SDK folder!
    VC 编写的打字练习
    机房工作笔记Ping只有单向通
    web服务协同学习笔记(1)
    Dll 学习3 将MDI子窗口封装在DLL中
    机房工作学习文件共享
    Andriod出错之Failed to find an AVD compatible with target 'Android 2.2'
    Andriod出错之wrapper was not properly loaded first
  • 原文地址:https://www.cnblogs.com/kfarvid/p/2172310.html
Copyright © 2011-2022 走看看