Свойство 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();
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint