【问题标题】:Removing Workflow from the list using SP Object Model in SharePoint 2010在 SharePoint 2010 中使用 SP 对象模型从列表中删除工作流
【发布时间】:2011-12-17 11:51:12
【问题描述】:

我有兴趣使用 SP 对象模型从列表中删除工作流。我该怎么做?

我今天在 Google 上运气不佳!

【问题讨论】:

标签: sharepoint sharepoint-2010 sharepoint-workflow sharepoint-list sharepoint-object-model


【解决方案1】:

好的。所以这是我编写的从列表中删除工作流的函数。希望它可以帮助某人:)


/// <summary>
/// Removes the workflow.
/// </summary>
/// <param name="workflowName">Name of the workflow.</param>
/// <param name="spList">The sp list.</param>
private static void RemoveWorkflow(string workflowName, SPList spList)
{
    SPWorkflowAssociation spWorkflowAssociation =
        spList.WorkflowAssociations.Cast<SPWorkflowAssociation>()
          .FirstOrDefault(workflowAssociation => workflowAssociation.Name.Equals(workflowName));

    if (spWorkflowAssociation != null)
    {
        spList.WorkflowAssociations.Remove(spWorkflowAssociation.Id);
    }

    spList.Update();
}

【讨论】:

    【解决方案2】:

    试试这个代码,

       using(SPSite oSite = new SPSite("http://localhost/"))
       {
          using(SPWeb oWeb = oSite.OpenWeb())
          {
            SPList oList = oWeb.Lists["DocumentLib"];
            SPWorkflowAssociation objWorkflowAssociation = oList.WorkflowAssociations.Cast<SPWorkflowAssociation>().FirstOrDefault(workflowAssociation => workflowAssociation.Name.Equals("Approval Workflow"));
            if (objWorkflowAssociation != null)
            {
                oList.WorkflowAssociations.Remove(objWorkflowAssociation.Id);
            }
            oList.Update();
          }
       }
    

    它正在为我工​​作......

    【讨论】:

    • 这会删除工作流关联,但工作流在工作流设置中仍显示为非活动工作流。您将如何从网站上彻底删除?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2011-04-15
    相关资源
    最近更新 更多