SPContentType.ParentList - Propriété
Obtient un objet SPList qui représente la liste dans lequel se trouve cet objet SPContentType .
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public ReadOnly Property ParentList As SPList
Get
'Utilisation
Dim instance As SPContentType
Dim value As SPList
value = instance.ParentList
public SPList ParentList { get; }
Valeur de propriété
Type : Microsoft.SharePoint.SPList
La liste dans lequel se trouve ce type de contenu.
Remarques
La valeur de cette propriété est une référence Null (Rien dans Visual Basic) pour un type de contenu de site. Pour un type de contenu de liste, la valeur est un objet SPList qui représente une liste ou bibliothèque de documents à laquelle le type de contenu a été ajouté. Pour plus d'informations, consultez Site and List Content Types.
Exemples
L'exemple suivant se compose d'une méthode, DeleteListContentType. Comme son nom l'indique, la méthode vise à supprimer un type de contenu dans une liste. Il accepte un objet SPContentType comme son seul argument. Avant de procéder à sa tâche, la méthode vérifie la valeur de la propriété ParentList pour vérifier que l'objet qui a été passé en tant qu'argument est inclus dans la collection de type de contenu de la liste. Si la propriété renvoie une valeur de une référence Null (Rien dans Visual Basic) , le type de contenu n'appartient pas à la liste et la méthode retourne. Si la propriété renvoie un objet SPList , la méthode utilise l'objet ait terminé sa tâche.
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();
}
Voir aussi
Référence
Microsoft.SharePoint - Espace de noms