何时创建sharepoint工作流程?

时间:2011-05-04 23:28:39

标签: sharepoint sharepoint-2010 sharepoint-workflow

我正在使用sharepoint 2010而且我被困住了。我有一个功能,具有FeatureAcitvated方法。在这个方法中,我有一个类,我想拥有启动我创建的工作流的代码。

所以我做了这个

 foreach (SPListItem item in itemCollection)
     {
      SPWorkflowAssociation wfAssoc = listItem.ParentList.WorkflowAssociations[new Guid("0768433d-23b1-4797-be66-fefc486e7e08")];
     }

然而它始终是空的。它从未找到我的工作流程。当我查看WorkflowAssociations时,它只有一些我相信的工作流可能是一些内置的。

所以我想知道我此时生成的工作流程是什么?或者它是在功能EventReceiver类被触发后创建的吗?

我通过Visual Studio 2010

创建了我的工作流程作为列表工作流程

1 个答案:

答案 0 :(得分:1)

我认为此代码可以解决您的问题。您需要做的第一件事是将工作流模板与列表关联起来。这只需要列表一次,而不是每个项目一次。然后循环遍历每个项目,并使用网站集的WorkflowManager属性启动每个项目的工作流程。

var assoc = list.WorkflowAssociations[new Guid("...")];
var manager = site.WorkflowManager;
foreach (SPListItem item in list.Items) 
{ 
    manager.StartWorkflow(item, assoc, assoc.AssociationData, true); 
}