Freigeben über


SPContentType.FieldLinks-Eigenschaft

Dient zum Abrufen einer SPFieldLinkCollection , die die Auflistung der Spalten- oder Feldverweis, Verweise im Inhaltstyp darstellt.

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

Syntax

'Declaration
Public ReadOnly Property FieldLinks As SPFieldLinkCollection
    Get
'Usage
Dim instance As SPContentType
Dim value As SPFieldLinkCollection

value = instance.FieldLinks
public SPFieldLinkCollection FieldLinks { get; }

Eigenschaftswert

Typ: Microsoft.SharePoint.SPFieldLinkCollection
Die Auflistung der Feldverweise im Inhaltstyp.

Hinweise

Wenn Sie bestimmte Elementmetadaten in einem Inhaltstyp nachverfolgen möchten, können Sie eine Spalte verweisen, die die Metadaten darstellt. Sie können nicht jedoch eine Spalte in einem Inhaltstyp erstellen. Sie müssen die Spalte erstellen und dann in der Inhaltstypdefinition darauf verweisen. Vorkommen, wenn Sie eine Spalte zu einem Inhaltstyp hinzufügen, enthält der Inhaltstyp eine Spalte oder ein Feld nicht. Es enthält einen Spalten- oder Feldverweis, Referenz.

Weitere Informationen finden Sie unter Fields and Field References.

Das SPContentType -Objekt enthält eine SPFieldLinkCollection und ein SPFieldCollection -Objekt.

Das SPFieldCollection -Objekt bietet Entwicklern eine Möglichkeit, eine kombinierte Ansicht von Attributen für eine Spalte, wie sie in diesem Inhaltstyp vorhanden sind. Jedes SPField -Objekt stellt alle Attribute einer Spalte oder das gleiche Feld Definition, kombiniert mit diesen Attributen, die im Feldverweis für diesen Inhaltstyp überschrieben wurden.

Wenn Sie eine SPField in einem Inhaltstyp zugreifen, SharePoint Foundation die Felddefinition mit Feldverweis zusammengeführt, und gibt das resultierende SPField -Objekt, das Sie. Dadurch wird verhindert, dass Entwickler müssen eine Felddefinition nachschlagen, und klicken Sie dann alle Attribute in der Felddefinition außer Kraft gesetzt, durch den Feldverweis für diesen Inhaltstyp nachschlagen.

Aus diesem Grund besteht eine 1: 1 Korrelation zwischen den Elementen in den SPFieldLinkCollection und SPFieldCollection -Objekten. Für jede SPFieldLink , die Sie einem Inhaltstyp hinzufügen, fügt SharePoint Foundation ein entsprechendes SPField -Objekt, das die zusammengeführte Ansicht der die Spalte darstellt, wie es im Inhaltstyp definiert ist.

Sie können nicht direkt hinzufügen oder Löschen von Elementen von einem SPFieldCollection -Objekt in ein Objekt SPContentType ; Wenn Sie versuchen, diese Schritte durchführen, wird ein Fehler ausgelöst.

Beispiele

Das folgende Beispiel ist Teil einer Konsolenanwendung, die erstellt ein neues Feld und fügt es der Website SPFieldCollectionhinzu. Klicken Sie dann die Anwendung erstellt eine neue SPFieldLink mit einem Verweis auf die neue Spalte und fügt es einen Inhaltstyp [SPFieldLinkCollection] -Auflistung hinzu. Die Anwendung aktualisiert Sie schließlich den Inhaltstyp, Änderungen in die Datenbank übernommen.

Beachten Sie, dass ein Feld in das Feld Websitesammlung vorhanden sein muss, bevor sie zum Erstellen eines SPFieldLink -Objekts verwendet werden kann.

Dim site As SPSite = New SPSite("https://localhost")
Dim web As SPWeb = site.OpenWeb()

' Get a reference to the site content type collection.
Dim contentTypes As SPContentTypeCollection = web.ContentTypes

' Create a Customer content type derived from the Contact content type.
Dim contentType As SPContentType = New SPContentType(contentTypes("Contact"), contentTypes, "Customer")

' Put the content type in a group.
contentType.Group = "Test"

' Add the content type to the site collection.
contentTypes.Add(contentType)

' Get a reference to the site fields (columns) collection
Dim siteFields As SPFieldCollection = web.Fields

' Create a new field (column) and add it to the site collection.
Dim fieldName As String = siteFields.Add("Last Order", SPFieldType.DateTime, False)

' Create a reference to the new field.
Dim fieldLink As SPFieldLink = New SPFieldLink(siteFields.GetField(fieldName))

' Add the field reference to the content type.
contentType.FieldLinks.Add(fieldLink)

' Commit changes to the content type.
contentType.Update()

' Clean up
web.Dispose()
site.Dispose()
SPSite site = new SPSite("https://localhost");
SPWeb web = site.OpenWeb();

// Get a reference to the site content type collection.
SPContentTypeCollection contentTypes = web.ContentTypes;

// Create a Customer content type derived from the Contact content type.
SPContentType contentType = new SPContentType(contentTypes["Contact"], contentTypes, "Customer");

// Add the content type to the site collection.
contentTypes.Add(contentType);

// Get a reference to the site fields (columns) collection.
SPFieldCollection siteFields = web.Fields;

// Create a new field (column) and add it to the site collection.
string fieldName = siteFields.Add("Last Order", SPFieldType.DateTime, false);

// Create a reference to the new field.
SPFieldLink fieldLink = new SPFieldLink(siteFields.GetField(fieldName));

// Add the field reference to the content type.
contentType.FieldLinks.Add(fieldLink);

// Commit changes to the content type.
contentType.Update();

// Clean up
web.Dispose();
site.Dispose();

Siehe auch

Referenz

SPContentType Klasse

SPContentType-Member

Microsoft.SharePoint-Namespace

Weitere Ressourcen

Fields and Field References

Introduction to Columns

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy