我们来先看看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;
}
}
}
原创作品出自努力偷懒,转载请说明文章出处:http://blog.csdn.net/kfarvid或 http://www.cnblogs.com/kfarvid/