SPFieldCollection.Delete 方法
从集合中删除的字段具有指定的内部,显示或静态名称。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Sub Delete ( _
strName As String _
)
用法
Dim instance As SPFieldCollection
Dim strName As String
instance.Delete(strName)
public void Delete(
string strName
)
参数
strName
类型:System.String字符串,它指定内部、 显示或 staticname 或字段的标题。SharePoint Foundation按内部名称,然后按标题,首先检查指定的值。
异常
异常 | 条件 |
---|---|
SPException | 域为只读。 |
ArgumentException | 集合中不存在该名称的任何字段。 |
InvalidOperationException | 该字段的CanBeDeleted属性返回的值是false。 |
备注
此方法从字段属性按以下顺序获取的字段的名称: InternalName、 Title、 StaticName。
如果此字段属于类型SPFieldLookup ,它是主查找字段,则也将删除所有辅助查找。有关详细信息,请参阅IsDependentLookup属性。
示例
下面的代码示例从事件列表中指定的站点下的所有子网站中删除具有指定名称的字段。
Dim siteCollection As SPSite = SPContext.Current.Site
Try
Dim webSites As SPWebCollection = siteCollection.AllWebs("MySite").Webs
Dim webSite As SPWeb
For Each webSite In webSites
Dim fields As SPFieldCollection =
webSite.Lists("Announcements").Fields
fields.Delete(fields("MyField").InternalName)
Next webSite
Finally
siteCollection.Dispose()
End Try
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs["MySite"].Webs;
foreach (SPWeb oWebsite in collWebsites)
{
SPFieldCollection collFields = oWebsite.Lists["Announcements"].Fields;
collFields.Delete(collFields["MyField"].InternalName);
}
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。