流程平台:表单页面(二)- 表单页面事件

—表单主要关注几个事件的处理:
—页面加载事件:—protected void Page_Load(object sender, EventArgs e)
  —不需要此事件中写任何代码
 
—表单加载事件:—public override void LoadDataFields()
—  按需要在此事件中写代码,事件覆盖Page_Load,在该事件中的“base.LoadDataFields()”代码后面写原本需要在Page_Load中的代码。
 
—表单提交校验事件:—public override bool ValidateDataFields(OThinker.H3.WorkSheet.SheetSubmitEventArgs Args, List<string> Errors)
—  在表单那保存前进行必要的校验。
 
—表单保存事件:—public override void SaveDataFields(OThinker.H3.WorkSheet.SheetSubmitEventArgs Args)
—  需要在此事件中写保存一些数据项的值或一些第三方接口处理事件
 
—流程取消事件:—public override string CancelInstance(string InstanceId, string WorkItemId)
—  流程的取消事件,如果在取消流程的同时还需要对其他数据进行处理(第三方数据、子表数据等),可以添加该事件进行处理;流程取消不涉及到需要其他处理的,则不需要添加该事件。
 
—流程删除事件:—public override string DeleteInstance(string InstanceId)
  —流程的删除事件,如果在删除流程的同时还需要对其他数据进行处理(第三方数据、子表数据等),可以添加该事件进行处理;流程删除不涉及到需要其他处理的,则不需要添加该事件。
 
—工作项批量处理事件:—public override string WorkItemByBatch(OThinker.H3.WorkItem.WorkItem workItem)
  —工作项的批量处理,如果批量处理的同时还需要对其他数据进行处理(第三方数据、子表数据等),可以添加该事件进行处理;工作项批量不涉及到需要其他处理的,则不需要添加该事件。

表单页面在加载时,几个常用事件加载的优先级从高->低为:

OnPreInit > SubTable_EditorInitializing > [Page_Load] > LoadDataFields > SubTable_RowDataBound

表单页面保存时,事件优先级从高->低位:ValidateDataFields > SaveDataFields

posted on 2013-04-26 17:17  内部开发者  阅读(272)  评论(0编辑  收藏  举报

导航