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


Свойство SPContentType.ParentList

Получает объект SPList , представляющий список, в котором находится этот объект SPContentType .

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

Синтаксис

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

value = instance.ParentList
public SPList ParentList { get; }

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

Тип: Microsoft.SharePoint.SPList
Список, в котором находится этот тип контента.

Замечания

Значение этого свойства является пустая ссылка (Nothing в Visual Basic) для типа контента сайта. Для типа контента списка значение объект SPList , представляющий список или библиотеку документов к которому был добавлен тип контента. Дополнительные сведения содержатся в разделе Site and List Content Types.

Примеры

Следующий пример состоит из метода DeleteListContentType. Как указывает его имя, метод предназначен для удаления из списка тип содержимого. Объект SPContentType принимает в качестве своего единственного параметра. Перед выполнением задачи, метод проверяет значение свойства ParentList , убедитесь, что объект, который был передан в качестве аргумента включить в списке тип содержимого коллекции. Если свойство возвращает значение пустая ссылка (Nothing в Visual Basic) , тип содержимого не принадлежит к списку, и метод возвращает. Если свойство возвращает объект SPList , данный метод использует объект для завершения задачи.

Function DeleteListContentType(ByRef ct As SPContentType) As Boolean
  ' Make sure we have a content type.
  If ct Is Nothing Then
     Throw New ArgumentException("Content type is null.")
  End If

  ' Make sure we have a list content type.
  If ct.ParentList Is Nothing Then
     Return False
  End If

  ' Delete list items of this content type.
  DeleteListItems(ct.ParentList, ct.Id)

  ' Check for read-only and sealed.
  If ct.ReadOnly Then
     ct.ReadOnly = False
  End If
  If ct.Sealed Then
     ct.Sealed = False
  End If

  ' Delete it.
  ct.Delete()
  Return True
End Function

Sub DeleteListItems(ByRef list As SPList, ByVal id As SPContentTypeId)
   Dim items As SPListItemCollection =  list.Items 
   Dim count As Integer =  items.Count  'Count will change
   Dim i As Integer
   For  i = count -1 To  0 Step  i - 1
      Dim item As SPListItem =  items(i) 
      If item.ContentType.Id = id Then
         item.Delete()
      End If
   Next
   list.Update()
End Sub
static bool DeleteListContentType(SPContentType ct)
{
   // Make sure we have a content type.
   if (ct == null)
      throw new ArgumentException("Content type is null.");

   // Make sure we have a list content type
   if (ct.ParentList == null)
      return false;

   // Delete list items of this content type.
   DeleteListItems(ct.ParentList, ct.Id);

   // Check for read-only and sealed.
   if (ct.ReadOnly)
      ct.ReadOnly = false;
   if (ct.Sealed)
      ct.Sealed = false;

   // Delete it.
   ct.Delete();
   return true;
}

static void DeleteListItems(SPList list, SPContentTypeId id)
{
   SPListItemCollection items = list.Items;
   int count = items.Count;  //Count will change
   for (int i = count -1; i >= 0; i--) 
   {
      SPListItem item = items[i];
      if (item.ContentType.Id == id)
         item.Delete();
   }
   list.Update();
}

См. также

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

SPContentType класс

Элементы SPContentType

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

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

Introduction to Content Types

Site and List Content Types

Base Content Type Hierarchy