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/
  • 相关阅读:
    java基础之冒泡排序和选择排序
    从今天开始写博客、托管代码到 Github
    九度 Online Judge 之《剑指 Offer》一书相关题目解答
    Window.ShowModalDialog使用手册
    模态窗体刷新父窗体
    彻底卸载sql2008后重新安装
    servlet 学习笔记(二)
    查看本地安装的sql server是什么版本
    servlet 学习笔记(三)
    struts2 国际化
  • 原文地址:https://www.cnblogs.com/kfarvid/p/2172310.html
Copyright © 2011-2022 走看看