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/
  • 相关阅读:
    Oracle exp/imp导出导入工具的使用
    导入导出数据语句小结
    改变一生的五句话
    给年轻工程师的十大忠告
    项目经理三步曲(项目经理成长版)
    写作、写程序的快乐和痛苦
    《Excel与VBA程序设计(mini版)》
    《3S新闻周刊》第三期发布: 解密Google Earth
    《Excel与VBA程序设计》进度(2006.3.8)
    Arc2Earth正式发布
  • 原文地址:https://www.cnblogs.com/kfarvid/p/2172310.html
Copyright © 2011-2022 走看看