从旧工作流中删除列

时间:2011-10-31 15:09:07

标签: sharepoint sharepoint-2007 moss sharepoint-workflow

我有一个为已删除的工作流创建的列。我创建了一个工作流程(2年前),并多次更新。我正在查看该列表的元数据,并注意到我的表中仍然存在名为WorkflowName(早期版本:12/23/2009 9:50:27 AM)的列。该工作流程版本已被删除,并且已删除对它的所有引用(视图)。但由于某种原因,它不会从元数据中删除自己。此外,我无法在Access中编辑列表,因为工作流程名称超过64个字符。

我可以手动从我的元数据中删除这个字段/列(我实际上有两个不同的实例。)

1 个答案:

答案 0 :(得分:0)

    private void DeleteWFField(string ListName,  SPWeb s)
    {

        s.AllowUnsafeUpdates = true;
        string preName = "_x062b__x0628__x062a__x0648__x0634__x0645__x0627__x0631_";
        for (int i = 0; i < 5; i++)
        {
            try
            {
                SPField f = s.Lists[ListName].Fields.GetField(preName + i.ToString());
                f.ReadOnlyField = false;
                f.Update(true);
                s.Lists[ListName].Update();
                f.Delete();
            }
            catch { }
        }
        s.AllowUnsafeUpdates = false;
    }