SPFieldCollection 类
表示SPField对象的集合。
继承层次结构
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPFieldCollection
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Class SPFieldCollection _
Inherits SPBaseCollection
用法
Dim instance As SPFieldCollection
public class SPFieldCollection : SPBaseCollection
备注
使用SPList类或SPListItem类的Fields属性返回的字段的列表或列表项的集合。使用SPWeb类的Fields属性返回的字段在网站中,并使用SPContentType类的Fields属性来获取与内容类型相关联的字段。若要创建一个字段,请使用Add方法。
使用索引器从集合中返回单个字段。例如,假设已分配给名为collFields的变量集合,使用collFields[index]在 C# 中或在 Visual Basic,其中index是集合中的字段的索引号,或者字段的显示名称collFields(index) 。
示例
下面的代码示例将一个新的文本字段添加到显示在列表的默认视图中指定网站的通知列表。
Dim webSite As SPWeb = SPContext.Current.Site.AllWebs("MySite")
Try
Dim list As SPList = webSite.GetList("Lists/Announcements/AllItems.aspx")
Dim fields As SPFieldCollection = list.Fields
Dim newFieldName As String = fields.Add("MyNewField", SPFieldType.Text, False)
Dim fieldAdd As SPField = fields.GetField(newFieldName)
Dim view As SPView = list.DefaultView
Dim viewFields As SPViewFieldCollection = view.ViewFields
viewFields.Add(fieldAdd)
view.Update()
Finally
webSite.Dispose()
End Try
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["MySite"])
{
SPList oList = oWebsite.GetList("Lists/Announcements/AllItems.aspx");
SPFieldCollection collFields = oList.Fields;
string strNewFieldName = collFields.Add("MyNewField", SPFieldType.Text, false);
SPField oField = collFields.GetField(strNewFieldName);
SPView oView = oList.DefaultView;
SPViewFieldCollection collViewFields = oView.ViewFields;
collViewFields.Add(oField);
oView.Update();
}
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。