Clase SPListCollection
Representa una colección de objetos SPList .
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListCollection
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Class SPListCollection _
Inherits SPBaseCollection
'Uso
Dim instance As SPListCollection
public class SPListCollection : SPBaseCollection
Comentarios
Utilice la propiedad Lists de la clase SPWeb para devolver un objeto SPListCollection que representa la colección de listas en un sitio o use la propiedad Lists de la clase SPList para devolver un objeto SPListCollection que representa la colección de listas de primario para obtener una lista. Para crear una lista, use uno de los métodos de Add de SPListCollection.
Utilice un indizador para devolver una única lista de la colección. Por ejemplo, suponiendo que la colección se asigna a una variable denominada collLists, use collLists[index] en C# o collLists(index) en Visual Basic, donde index es el número de índice de la lista de la colección, el nombre para mostrar de la lista, o el GUID de la lista.
Si los usuarios que ejecutan el código tienen permiso total para obtener una lista, pero no tiene permisos para el sitio, use el indizador GUID para devolver una lista de la colección de listas en el sitio. De lo contrario, se devuelve un mensaje de error de acceso denegado porque el usuario no tiene permisos para enumerar la colección de listas, como se hace cuando se usa el indizador de nombre. El indizador GUID permite el acceso directo al elemento porque el GUID es la clave principal en la tabla de listas de la base de datos de Microsoft SharePoint Foundation .
Ejemplos
En el ejemplo de código siguiente se recorre en iteración todas las listas de todos los sitios de una colección de sitios y muestra el nombre de cada sitio y lista. El ejemplo supone la existencia de una página .aspx que contiene un control de etiqueta.
En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y 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();
}
}
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.