我们来先看看WinAction的显示列表窗体的流程:
具体代码参考:
public
void
InitListForm(Form listForm,
object
entity)
{
if (listForm is IDataListView)
{
IDataListView mForm = listForm as IDataListView;
IList < T > dataList;
if ( null == entity)
dataList = useBll.SelectAll < T > ();
else
dataList = useBll.QueryForList < T > (entity);
mForm.setDataList(TransformToDataListObject(dataList));
if ( null == mForm.RefreshEntityList)
mForm.RefreshEntityList = RefreshEntity;
// 初始化搜索对象
if (entity != null )
mForm.SearchEntity = entity;
}
//
if (listForm is IDataListGridView && ! (listForm as IDataListGridView).InitColumn)
{
(listForm as IDataListGridView).InitColumns(useBll.GetModelPropertys(), useBll.GetTableColumns(), pdm.FindTableByTableName(useBll.GetTableName()));
if (listForm is IDataControlActionView)
{
IDataControlActionView dForm = listForm as IDataControlActionView;
dForm.DeleteEntity = DeleteEntity;
dForm.EditEntity = EditEntityHandler;
dForm.NewEntity = NewEntityHandler;
dForm.AfterUpdateEntity = UpdateEditCallerData;
dForm.AfterUpdateEntityCancel = CancelEditCallerData;
dForm.AfterUpdateEntityError = ErrorEditCallerData;
dForm.ClosingListForm = ClosingListFormHandler;
}
}
}
{
if (listForm is IDataListView)
{
IDataListView mForm = listForm as IDataListView;
IList < T > dataList;
if ( null == entity)
dataList = useBll.SelectAll < T > ();
else
dataList = useBll.QueryForList < T > (entity);
mForm.setDataList(TransformToDataListObject(dataList));
if ( null == mForm.RefreshEntityList)
mForm.RefreshEntityList = RefreshEntity;
// 初始化搜索对象
if (entity != null )
mForm.SearchEntity = entity;
}
//
if (listForm is IDataListGridView && ! (listForm as IDataListGridView).InitColumn)
{
(listForm as IDataListGridView).InitColumns(useBll.GetModelPropertys(), useBll.GetTableColumns(), pdm.FindTableByTableName(useBll.GetTableName()));
if (listForm is IDataControlActionView)
{
IDataControlActionView dForm = listForm as IDataControlActionView;
dForm.DeleteEntity = DeleteEntity;
dForm.EditEntity = EditEntityHandler;
dForm.NewEntity = NewEntityHandler;
dForm.AfterUpdateEntity = UpdateEditCallerData;
dForm.AfterUpdateEntityCancel = CancelEditCallerData;
dForm.AfterUpdateEntityError = ErrorEditCallerData;
dForm.ClosingListForm = ClosingListFormHandler;
}
}
}
原创作品出自努力偷懒,转载请说明文章出处:http://blog.youkuaiyun.com/kfarvid或 http://www.cnblogs.com/kfarvid/