Поделиться через


Свойство SPContentType.FieldLinks

Возвращает SPFieldLinkCollection , представляющий коллекцию ссылок на столбец или поле в типе контента.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public ReadOnly Property FieldLinks As SPFieldLinkCollection
    Get
'Применение
Dim instance As SPContentType
Dim value As SPFieldLinkCollection

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

Значение свойства

Тип: Microsoft.SharePoint.SPFieldLinkCollection
Коллекция ссылок на поля в типе содержимого.

Замечания

Если вы хотите отслеживать определенные метаданные элементов в тип содержимого, можно ссылаться на столбец, представляющий метаданные. Однако нельзя создать столбец в типе контента; необходимо создать столбец и затем ссылаться на него в определении типа содержимого. Поэтому при добавлении столбца в тип содержимого, тип содержимого не содержит столбец или поле; он содержит столбец или поле, ссылка.

Дополнительные сведения см. в статье Fields and Field References.

Объект SPContentType содержит SPFieldLinkCollection и SPFieldCollection объекта.

Объект SPFieldCollection предоставляет разработчикам способ получить объединенное представление атрибутов столбцов, поскольку они существуют в типа содержимого. Каждый объект SPField представляет все атрибуты столбцов или полей, определения, в сочетании с тех атрибутов, которые были переопределены в ссылке поля для данного типа контента.

При доступе к SPField в типе контента, SharePoint Foundation объединяет определения поля со ссылкой на поле и возвращает результирующий объект SPField для вас. Это предотвращает разработчиков от необходимости искать определение поля, а затем найти всех атрибутов в определении поля переопределены ссылка на поле для типа содержимого.

Таким образом существует взаимосвязь между элементами в объекты SPFieldLinkCollection и SPFieldCollection 1-1. Для каждого SPFieldLink , добавьте в тип содержимого SharePoint Foundation добавляет соответствующий объект SPField , который представляет объединенное представление этого столбца, как это определено в типе содержимого.

Нельзя непосредственно добавлять или удалять элементы из объекта SPFieldCollection в объекте SPContentType ; При попытке сделать это выводится сообщение об ошибке.

Примеры

Следующий пример является частью консольное приложение, которое создает новое поле и добавляет его в веб-узла SPFieldCollection. Затем приложение создает новый SPFieldLink со ссылкой на новый столбец и добавляет его к коллекции [SPFieldLinkCollection] типа содержимого. Наконец приложение обновляет тип содержимого, фиксация изменений в базе данных.

Обратите внимание, что поле должен существовать в коллекцию полей веб-узла, прежде чем его можно использовать для создания объекта 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();

См. также

Справочные материалы

SPContentType класс

Элементы SPContentType

Пространство имен Microsoft.SharePoint

Другие ресурсы

Fields and Field References

Introduction to Columns

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy