Replicator控件
属性:
ExecutionType 指定activity的执行模式,是顺序还是状态。
InitialChildData 指定将包含复制器的初始子实例数据的集合。
条件:
UntilCondition 请指定导致复制器的内容activity停止执行的条件;
ChildInitialized 请指定初始化子活动的实例时要调用的方法。
在工作流中引用自定义控件的步骤:
一、OnWorkflowActivated 工作流启动方法 :初始化工作流程。我们用Form和Contact类来解析初始化表单的数据,在microsoft.office.workflow.utility命名空间里。
转换初始化表单数据到一个哈希表
获得原始工作流的信息
设置复制器执行类型
使用内置的方法来解析出人
给每个联系人创建一个任务添加到replicator中,replicator创建列表中的每个子项
准备replicator 的数据源代码:
二、OnReplicatorChildInitialized(InitialChildData方法: 指定将包含 复制器的初始子实例数据的集合。) :为每个复制器的子实例创建和初始化任务。
获取活动
设置任务
添加info表中的用户和检测与任务关联的用户
更新任务属性的值显示在infopath中
设置其他值
设置created by用户
源代码:
三、IsReplicatorDone (UntilCondition 请指定导致复制器的内容activity停止执行的条件;
):判断复制器是否已完成任务的条件。
源代码:
四、IsTaskCompleted(自定义控件的onTaskChanged的自定义方法isTaskCompleted): 任务修改了反射到自定义控件的IsTaskCompleted事件中。IsTaskCompleted事件参数TaskEventArgs包含了SPWorkflowTaskProperties (AfterProperties)属性,该属性是任务修改时存储修改时的新值。
获得任务数据
获得审批该活动的用户
获得任务结果——#和@在TaskStatus属性中显示完成
判断结果是否取消流程
判断结果是否任务已完成
源代码:五、OnTaskDeleted (自定义控件onTaskDeleted的Invoked方法):删除任务事件。
获得任务数据
获得审批该活动的用户
设置友好的名称
拒绝工作流
源代码: