Freigeben über


SPFieldCollection.Delete-Methode

Löscht das Feld mit dem angegebenen internen, Anzeige oder statischen Namen aus der Auflistung.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Sub Delete ( _
    strName As String _
)
'Usage
Dim instance As SPFieldCollection
Dim strName As String

instance.Delete(strName)
public void Delete(
    string strName
)

Parameter

  • strName
    Typ: System.String

    Eine Zeichenfolge, die den internen angibt, Display, oder Staticname oder Titel des Felds. SharePoint Foundation prüft zunächst den angegebenen Wert nach internen Namen und dann nach Titel.

Ausnahmen

Ausnahme Bedingung
SPException

Das Feld ist schreibgeschützt.

ArgumentException

Kein Feld mit diesem Namen in der Auflistung vorhanden ist.

InvalidOperationException

Der durch die CanBeDeleted -Eigenschaft zurückgegebene Wert ist false.

Hinweise

Diese Methode ruft den Namen des Felds eine Feldeigenschaft in der folgenden Reihenfolge ab: InternalName, Title, StaticName.

Wenn das Feld vom Typ SPFieldLookup ist , und es ein primäres Nachschlagefeld ist, werden alle sekundäre suchen auch gelöscht. Weitere Informationen finden Sie unter der IsDependentLookup -Eigenschaft.

Beispiele

Im folgenden Codebeispiel löscht das Feld mit dem angegebenen Namen aus der Liste Ereignisse auf allen Unterwebsites unter einer angegebenen Website.

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);
}

Hinweis

Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.

Siehe auch

Referenz

SPFieldCollection Klasse

SPFieldCollection-Member

Microsoft.SharePoint-Namespace