当你自定义控件时,你封装的控件属性,在访问时能访问但是却不能赋值给它,相当于指针指向了黑盒子,因此我们用Replicator控件来解决它。当然Replicator控件还有其他功能,其中对于工作流来说,审批过程中人员数的不确切这个问题也很容易的解决了。

Replicator控件

属性:

ExecutionType 指定activity的执行模式,是顺序还是状态。

InitialChildData 指定将包含复制器的初始子实例数据的集合。

条件:

UntilCondition 请指定导致复制器的内容activity停止执行的条件;

ChildInitialized 请指定初始化子活动的实例时要调用的方法。


在工作流中引用自定义控件的步骤:

一、OnWorkflowActivated 工作流启动方法 初始化工作流程。我们用FormContact类来解析初始化表单的数据,在microsoft.office.workflow.utility命名空间里。

转换初始化表单数据到一个哈希表

获得原始工作流的信息

设置复制器执行类型

使用内置的方法来解析出人

给每个联系人创建一个任务添加到replicator中,replicator创建列表中的每个子项

    准备replicator 的数据

源代码:

二、OnReplicatorChildInitializedInitialChildData方法: 指定将包含 复制器的初始子实例数据的集合。) :为每个复制器的子实例创建和初始化任务。

获取活动

设置任务

添加info表中的用户和检测与任务关联的用户

更新任务属性的值显示在infopath

设置其他值

设置created by用户 

源代码:

三、IsReplicatorDone UntilCondition 请指定导致复制器的内容activity停止执行的条件;

):判断复制器是否已完成任务的条件。

源代码:

工作流中Replicator控件的使用        private void IsReplicatorDone(object sender, ConditionalEventArgs e)

四、IsTaskCompleted(自定义控件的onTaskChanged的自定义方法isTaskCompleted: 任务修改了反射到自定义控件的IsTaskCompleted事件中。IsTaskCompleted事件参数TaskEventArgs包含了SPWorkflowTaskProperties (AfterProperties)属性,该属性是任务修改时存储修改时的新值。

获得任务数据

获得审批该活动的用户

获得任务结果——#@TaskStatus属性中显示完成

判断结果是否取消流程

判断结果是否任务已完成

源代码:
工作流中Replicator控件的使用        private void IsTaskCompleted(object sender, TaskEventArgs e)

五、OnTaskDeleted (自定义控件onTaskDeletedInvoked方法):删除任务事件。

获得任务数据

获得审批该活动的用户

设置友好的名称

拒绝工作流

源代码:


相关文章:

  • 2022-12-23
  • 2021-05-22
  • 2021-06-22
  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
  • 2021-12-25
  • 2021-05-17
猜你喜欢
  • 2022-01-26
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
相关资源
相似解决方案