使用SharePoint对象模型可以完成页面上所有与列表字段相关的操作,向列表添加字段可以使用SPList对象的Fields.Add()方法来实现,此方法有3个重载参数,可以根据不同的参数条件创建字段。Fields.Add()方法的重载参数如下:

  1. public string Add(SPField field);
  2. public string Add(string strDisplayName, SPFieldType type, bool bRequired);
  3. public string Add(string strDisplayName, SPFieldType type, bool bRequired, bool bCompactName, StringCollection choices);

其中第一重载方法创建字段可以参考本文的相关内容,下面我们来讲解一下后面2个重载方法是如何创建列表字段的。

public string Add(string strDisplayName, SPFieldType type, bool bRequired);此方法是创建字段最为简单的方法,只需要提供一个显示名称、字段类型、是否必填即可创建字段,不需要Update()。C#代码如下:

 


  
  1. /// <summary>  
  2. /// 向列表添加字段  
  3. /// </summary>  
  4. /// <param name="web"></param>  
  5. /// <param name="listName"></param>  
  6. /// <param name="fieldName"></param>  
  7. protected void AddFieldToList(SPWeb web, string listName)  
  8. {  
  9.     if (web != null && !string.IsNullOrEmpty(listName))  
  10.     {  
  11.         SPList list = web.Lists[listName];  
  12.         list.Fields.Add("F2", SPFieldType.Number, true);  
  13.     }  
  14. }  
  15.  
  16. /// <summary>  
  17. /// 提交  
  18. /// </summary>  
  19. /// <param name="sender"></param>  
  20. /// <param name="e"></param>  
  21. protected void Button1_Click(object sender, EventArgs e)  
  22. {  
  23.     this.AddFieldToList(SPContext.Current.Web, "Announcements");  
  24. }  
在上面的代码中,我们创建一个数字类型名称为F2的字段,且为必填项。部署运行上面的代码,结果如图1所示: 转载自: http://www.360sps.com/item/77fadf916089497bb699c228129e1dbc.aspx