代码之家  ›  专栏  ›  技术社区  ›  rjrapson

sharepoint-通过对象模型将自定义列添加到列表

  •  2
  • rjrapson  · 技术社区  · 7 年前

    我不知道如何使用对象模型将自定义列类型添加到列表中。

    SPFieldCollection.Add()具有参数SPFieldType,但该参数必须是Microsoft.SharePoint.SPFieldType枚举中的枚举值之一,因此不能用于创建自定义类型的列。

    接下来我尝试使用SPFieldCollection.CreateNewField(),但当我对返回的值调用SPField.Update()时,我得到一个异常:“ArgumentException未处理。该值不在预期范围内。”。

    How do I add custom column to existing WSS list template

    更新:我在AddFieldAsXml上找到一篇帖子: http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx 结果证明这很简单,对我来说效果很好。不管怎么说,我希望它能帮助其他人。

    2 回复  |  直到 9 年前
        1
  •  3
  •   Chloraphil    17 年前

    据我所知,SPFieldCollection.AddFieldAsXml()是一种可行的方法。有关示例,请参见此处: http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx

        2
  •  1
  •   Ciprian Grosu    16 年前
     Try with:
    
     SPField newField = null;
     newField= web.Fields.CreateNewField("MyFieldTypeName", fieldName); 
     web.Fields.Add(newField);
    
     newField = web.Fields[fieldName];
    
     // set some properties
     newField.ShowInDisplayForm = false;
     newField.ShowInViewForms = true;
     newField.Update();