您的位置:首页 > 其它

WinForm应用程序框架设计之WinAction(修改数据)

2011-09-07 17:51 453 查看
我们来先看看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/kfarvidhttp://www.cnblogs.com/kfarvid/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: