Clase SPListItemCollection
Representa una colección de objetos SPListItem .
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListItemCollection
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Class SPListItemCollection _
Inherits SPBaseCollection _
Implements IEnumerable
'Uso
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection,
IEnumerable
Comentarios
Para devolver una colección de elementos de una lista, es aconsejable utilizar uno de los métodos de GetItems* de la clase SPList , en lugar de la propiedad Items . Por ejemplo, puede usar el método GetItems de la clase SPList y pasar un objeto SPQuery para devolver elementos específicos de una lista. Para los elementos de las bibliotecas de documentos, use el método GetItemsInFolder de la clase SPDocumentLibrary .
Una vez que devolver una colección de elementos de lista y asignarla a un objeto SPListItemCollection , puede usar un indizador para devolver un único elemento de la colección. Por ejemplo, suponiendo que la colección se asigna a una variable denominada collListItems, use collListItems[index] en C# o collListItems(index) en Visual Basic, donde index es el número de índice del elemento de la colección o el nombre para mostrar de un campo de lista. Como alternativa, para devolver un único elemento de la colección de elementos en una lista, use uno de los métodos de Get* de SPList o de otro objeto de SharePoint siempre que sea posible devolver elementos específicos o archivos. Si usa uno de estos métodos, no enumere todos los elementos de la lista o biblioteca para devolver el elemento. Por ejemplo, use el método GetFile de la clase SPWeb para devolver un archivo específico desde una biblioteca en un sitio Web o use el método GetItemByUniqueId(Guid) de la clase SPList para recuperar un elemento específico cuando sabe su GUID.
Para crear un elemento, puede usar uno de los métodos de Add() de la colección de elementos de lista, aunque es más eficaz utilizar el método AddItem() directamente desde el objeto de lista primario.
Ejemplos
En el ejemplo de código siguiente se usa el método GetItems para devolver elementos específicos de una lista de origen en un sitio y, a continuación, agregar estos elementos a una lista de destino en otro sitio.
Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim destSite As SPWeb = siteCollection.AllWebs("Destination_Site")
Dim srcSite As SPWeb = siteCollection.AllWebs("Source_Site")
Dim srcList As SPList = srcSite.Lists("Source_List")
Dim srcView As SPView = srcList.Views("Source_Niew_Name")
Dim srcItems As SPListItemCollection = srcList.GetItems(srcView)
Dim destItems As SPListItemCollection =
destSite.Lists("Destination_List").Items
Dim srcItem As SPListItem
For Each srcItem In srcItems
Dim newItem As SPListItem = destItems.Add()
newItem("destField1_Name") = srcItem("srcField1_Name")
newItem("destField2_Name") = srcItem("srcField2_Name")
newItem("destField3_Name") = srcItem("srcField2_Name")
newItem.Update()
Next srcItem
SPSite oSiteCollection = SPContext.Current.Site;
SPWeb oWebsiteDest = oSiteCollection.AllWebs["Destination_Site"];
SPWeb oWebsiteSrc = oSiteCollection.AllWebs["Source_Site"];
SPList oList = oWebsiteSrc.Lists["Source_List"];
SPView oView = oList.Views["Source_View_Name"];
SPListItemCollection collListItemsSrc = oList.GetItems(oView);
SPListItemCollection collListItemsDest =
oWebsiteDest.Lists["Destination_List"].Items;
foreach (SPListItem oListItemSrc in collListItemsSrc)
{
SPListItem oListItemDest = collListItemsDest.Add();
oListItemDest["destField1_Name"] = oListItemSrc["srcField1_Name"];
oListItemDest["destField2_Name"] = oListItemSrc["srcField2_Name"];
oListItemDest["destField3_Name"] = oListItemSrc["srcField2_Name"];
oListItemDest.Update();
}
oWebsiteDest.Dispose();
oWebsiteSrc.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.