SharePoint 2013 状态机工作流之UpdateItemActivity

  没什么可说的,一个Activity的使用介绍,其他类似的Activity也可以参考这个使用。

  1、添加ApplyActivation和UpdateItemActivity,在onWorkflowActivated1节点的下面,setStateActivity1节点的上面,如下图:

SharePoint 2013 状态机工作流之UpdateItemActivity

  2、配置ApplyActivation的_Context,新建字段,记得是字段,不是属性:

SharePoint 2013 状态机工作流之UpdateItemActivity

  3、配置ApplyActivation的_WorkflowProperties,选择已有的workflowProperties,如下图;

SharePoint 2013 状态机工作流之UpdateItemActivity

  这个属性选的是代码里包含工作流信息的工作流属性,也就是下面代码声明的属性:

public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();

  4、配置UpdateItemActivity的_Context为步骤二创建的ApplyActivation的_Context;

SharePoint 2013 状态机工作流之UpdateItemActivity

  而后新建ListId字段和ListItem字段,在代码里赋值,参照步骤5;

SharePoint 2013 状态机工作流之UpdateItemActivity

  5、如下图,在UpdateItemActivity上右键,绑定item属性,然后新建属性,同时新建ListId和ListItem字段(第一个是属性,剩下都是字段,别混了);

SharePoint 2013 状态机工作流之UpdateItemActivity

  6、在onWorkflowActivated1_Invoked方法添加代码

private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)

{

ModifyTitleupdateItemActivity_ListId1 = workflowProperties.ListId.ToString();

ModifyTitleupdateItemActivity_ListItem1 = new SPItemKey(workflowProperties.ItemId);

ModifyTitleupdateItemActivity_ItemProperties1 = new Hashtable();

ModifyTitleupdateItemActivity_ItemProperties1.Add("标题", "于" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "被工作流更新");

}

  7、部署执行效果如下:

SharePoint 2013 状态机工作流之UpdateItemActivity

结束语

  UpdateItemActivity是SharePoint 2013工作流里一个更新列表项的Activity,一开始用起来也不是很好用,后来搜了些资料,时间久远资料的链接不记得了,很抱歉没法附后。

  代码下载SharePointWorkFlowUpdateItemActivity.rar

上一篇:《Linux内核分析》第八周 进程的切换和系统的一般执行过程


下一篇:SharePoint 2013 Designer工作流——Parallel Block的应用