Compartir a través de


de la propiedad SPContentType.FieldLinks

Obtiene un SPFieldLinkCollection que representa la colección de referencias de columna o campo, en el tipo de contenido.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public ReadOnly Property FieldLinks As SPFieldLinkCollection
    Get
'Uso
Dim instance As SPContentType
Dim value As SPFieldLinkCollection

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

Valor de propiedad

Tipo: Microsoft.SharePoint.SPFieldLinkCollection
La colección de referencias de campo en el tipo de contenido.

Comentarios

Si desea realizar un seguimiento de determinados metadatos del elemento en un tipo de contenido, se puede hacer referencia a una columna que representa que los metadatos. Sin embargo, no se puede crear una columna en un tipo de contenido; debe crear la columna y, a continuación, hacer referencia a él en la definición de tipo de contenido. Como resultado, cuando se agrega una columna a un tipo de contenido, el tipo de contenido no contiene una columna o campo; contiene una referenciade columna, o un campo.

Para obtener más información, consulte Fields and Field References.

El objeto SPContentType contiene un SPFieldLinkCollection y un objeto SPFieldCollection .

El objeto SPFieldCollection proporciona a los desarrolladores una forma de obtener una vista combinada de los atributos de una columna, ya que existen en ese tipo de contenido. Cada objeto SPField representa todos los atributos de una definición de columna o campo, combinados con los atributos que se han reemplazado en la referencia de campo para ese tipo de contenido.

Cuando tiene acceso a un SPField en un tipo de contenido, SharePoint Foundation combina la definición de campo con la referencia de campo y devuelve el objeto SPField resultante para usted. Esto impide que los programadores de tener que buscar una definición de campo y a continuación, buscar todos los atributos en la definición del campo que se reemplaza por la referencia de campo para ese tipo de contenido.

Por este motivo, hay una correlación de 1 a 1 entre los elementos de los objetos SPFieldLinkCollection y SPFieldCollection . Para cada SPFieldLink que agrega a un tipo de contenido, SharePoint Foundation agrega un objeto SPField correspondiente que representa la vista combinada de esa columna tal como se define en el tipo de contenido.

No se puede agregar o eliminar elementos de un objeto SPFieldCollection en un objeto SPContentType ; directamente Si intenta hacer esto, se produce un error.

Ejemplos

En el siguiente ejemplo es parte de una aplicación de consola que crea un campo nuevo y lo agrega a la SPFieldCollection del sitio. A continuación, la aplicación crea un nuevo SPFieldLink con una referencia a la nueva columna y lo agrega a la colección de [SPFieldLinkCollection] del tipo de contenido. Por último, la aplicación actualiza el tipo de contenido, confirmar los cambios en la base de datos.

Tenga en cuenta que un campo debe existir en la colección de campos del sitio antes de que se puede usar para crear un 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();

Vea también

Referencia

clase SPContentType

Miembros SPContentType

Espacio de nombres Microsoft.SharePoint

Otros recursos

Fields and Field References

Introduction to Columns

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy