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.

Voir aussi

Référence

SPListCollection - Membres

Microsoft.SharePoint - Espace de noms