SPContentType.FieldLinks - Propriété

Obtient un SPFieldLinkCollection qui représente la collection de références de champ de colonne, ou, dans le type de contenu.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public ReadOnly Property FieldLinks As SPFieldLinkCollection
    Get
'Utilisation
Dim instance As SPContentType
Dim value As SPFieldLinkCollection

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

Valeur de propriété

Type : Microsoft.SharePoint.SPFieldLinkCollection
La collection de références de champ dans le type de contenu.

Remarques

Si vous souhaitez effectuer le suivi de certaines métadonnées d'élément dans un type de contenu, vous pouvez référencer une colonne qui représente les métadonnées. Toutefois, vous ne pouvez pas créer une colonne dans un type de contenu ; Vous devez créer la colonne, puis la référencer dans la définition de type de contenu. Par conséquent, lorsque vous ajoutez une colonne à un type de contenu, le type de contenu ne contient-elle pas une colonne ou un champ ; Il contient une colonne ou champ de référence.

Pour plus d’informations, voir Fields and Field References.

L'objet SPContentType contient un SPFieldLinkCollection et un objet SPFieldCollection .

L'objet SPFieldCollection fournit aux développeurs un moyen d'obtenir une vue combinée des attributs d'une colonne, tels qu'ils existent dans ce type de contenu. Chaque objet SPField représente tous les attributs d'une définition de colonne ou champ, combinée avec les attributs qui ont été substitués dans le champ de référence pour ce type de contenu.

Lorsque vous accédez à un SPField dans un type de contenu, SharePoint Foundation fusionne la définition du champ avec la référence de champ et renvoie l'objet SPField qui en résulte pour vous. Cela évite aux développeurs de rechercher une définition de champ, puis rechercher tous les attributs dans la définition du champ remplacée par la référence de champ pour ce type de contenu.

De ce fait, il existe une corrélation de 1 à 1 entre les éléments dans les objets SPFieldLinkCollection et SPFieldCollection . Pour chaque SPFieldLink que vous ajouter à un type de contenu, SharePoint Foundation ajoute un objet SPField correspondant qui représente l'affichage fusionné de cette colonne tel qu'il est défini dans le type de contenu.

Impossible d'ajouter directement ou supprimer des éléments d'un objet SPFieldCollection dans un objet SPContentType ; Si vous tentez cette opération, une erreur est levée.

Exemples

L'exemple suivant fait partie d'une application console qui crée un nouveau champ et l'ajoute à SPFieldCollection du site. L'application crée un nouveau SPFieldLink avec une référence à la nouvelle colonne, puis l'ajoute à la collection de [SPFieldLinkCollection] d'un type de contenu. Enfin, l'application met à jour le type de contenu, approuver les modifications apportées à la base de données.

Notez qu'un champ doit exister dans la collection de champs du site avant de pouvoir être utilisé pour créer un objet SPFieldLink .

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

Voir aussi

Référence

SPContentType classe

SPContentType - Membres

Microsoft.SharePoint - Espace de noms

Autres ressources

Fields and Field References

Introduction to Columns

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy