Compartilhar via


SPContentType.FieldLinks property

Obtém um SPFieldLinkCollection que representa a coleção de referências de coluna ou campo, no tipo de conteúdo.

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

Syntax

'Declaração
Public ReadOnly Property FieldLinks As SPFieldLinkCollection
    Get
'Uso
Dim instance As SPContentType
Dim value As SPFieldLinkCollection

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

Property value

Type: Microsoft.SharePoint.SPFieldLinkCollection
A coleção de referências de campo no tipo de conteúdo.

Comentários

Se você quiser rastrear determinados metadados de item em um tipo de conteúdo, você pode fazer referência a uma coluna que representa metadados. No entanto, você não pode criar uma coluna de um tipo de conteúdo; Você deve criar a coluna e, em seguida, fazer referência a ela, na definição de tipo de conteúdo. Como resultado, quando você adicionar uma coluna para um tipo de conteúdo, o tipo de conteúdo não contém uma coluna ou campo; ele contém uma referênciade coluna ou campo.

Para obter mais informações, consulte Fields and Field References.

O objeto SPContentType contém um SPFieldLinkCollection e um objeto SPFieldCollection .

O objeto SPFieldCollection fornece aos desenvolvedores uma maneira de obter uma visualização combinada dos atributos da coluna, que existem nesse tipo de conteúdo. Cada objeto SPField representa todos os atributos de uma definição de campo, ou coluna, combinado com os atributos que foram substituídos na referência de campo para esse tipo de conteúdo.

Quando você acessa um SPField em um tipo de conteúdo, SharePoint Foundation mescla a definição do campo com a referência de campo e retorna o objeto SPField resultante para você. Isso impede que os desenvolvedores precisar procurar uma definição de campo e, em seguida, procure todos os atributos na definição de campo substituído pela referência de campo para esse tipo de conteúdo.

Por isso, há uma correlação de 1 para 1 entre os itens nos objetos SPFieldLinkCollection e SPFieldCollection . Para cada SPFieldLink que você adicionar a um tipo de conteúdo, SharePoint Foundation adiciona um objeto SPField correspondente que representa a visão mesclada da coluna como ele está definido no tipo de conteúdo.

Diretamente você não pode adicionar ou excluir itens de um objeto SPFieldCollection em um objeto de SPContentType ; Se você tentar fazer isso, será gerado um erro.

Examples

O exemplo a seguir é parte de um aplicativo de console que cria um novo campo e o adiciona à SPFieldCollection do site. Em seguida, o aplicativo cria um novo SPFieldLink com uma referência para a nova coluna e adiciona à coleção de [SPFieldLinkCollection] de um tipo de conteúdo. Finalmente, o aplicativo atualiza o tipo de conteúdo, confirme as alterações no banco de dados.

Observe que um campo deve existir na coleção de campo do site antes de ele pode ser usado para criar um objeto 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();

Ver também

Referência

SPContentType class

SPContentType members

Microsoft.SharePoint namespace

Outros recursos

Fields and Field References

Introduction to Columns

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy