SPListCollection - Classe
Représente une collection d'objets SPList .
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListCollection
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Class SPListCollection _
Inherits SPBaseCollection
'Utilisation
Dim instance As SPListCollection
public class SPListCollection : SPBaseCollection
Remarques
Utilisez la propriété Lists de la classe SPWeb pour renvoyer un objet SPListCollection qui représente la collection de listes d'un site, ou utilisez la propriété Lists de la classe SPList pour renvoyer un objet SPListCollection qui représente la collection de listes parent pour une liste. Pour créer une liste, utilisez une des méthodes de Add de SPListCollection.
Un indexeur permet de renvoyer une liste unique de la collection. Par exemple, en supposant que la collection est assignée à une variable nommée collLists, utilisez collLists[index] dans C# ou collLists(index) dans Visual Basic, où index est le numéro d'index de la liste dans la collection, le nom complet de la liste, ou le GUID de la liste.
Si les utilisateurs qui exécutent le code ont toutes les autorisations pour une liste, mais n'ont pas les autorisations pour le site, utilisez l'indexeur GUID pour retourner une liste de la collection de listes dans le site. Dans le cas contraire, un message d'erreur accès refusé est retourné parce que l'utilisateur n'est pas autorisé à énumérer la collection de listes, comme cela se fait lorsque l'indexeur de nom est utilisé. L'indexeur GUID permet d'accéder directement à l'élément car il est la clé primaire de la table de listes de la base de données Microsoft SharePoint Foundation .
Exemples
L'exemple de code suivant itère toutes les listes de tous les sites dans une collection de sites et affiche le nom de chaque liste et de site. L'exemple suppose l'existence d'une page .aspx qui contient un contrôle label.
Cet exemple requiert les directives using (Imports dans Visual Basic) pour les espaces de noms Microsoft.SharePoint et Microsoft.SharePoint.Utilities .
Dim site As SPSite = SPControl.GetContextSite(Context)
Dim allSites As SPWebCollection = site.AllWebs
Dim subSite As SPWeb
For Each subSite In allSites
Dim allSiteLists As SPListCollection = subSite.Lists
Dim subSiteList As SPList
For Each subSiteList In allSiteLists
Label1.Text += SPEncode.HtmlEncode(subSite.Name) & " :: " & _
SPEncode.HtmlEncode(subSiteList.Title) & "<BR>"
Next subSiteList
Next subSite
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWebCollection collWebs = oSiteCollection.AllWebs)
{
foreach (SPWeb oWebsite in collWebs)
{
SPListCollection collSiteLists = oWebsite.Lists;
foreach (SPList oList in collSiteLists)
{
Label1.Text += SPEncode.HtmlEncode(oWebsite.Name) + " :: " +
SPEncode.HtmlEncode(oList.Title) + "<BR>";
}
oWebsite.Dispose();
}
}
Notes
Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.
Cohérence de thread
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.