SPListItemCollection class
Representa uma coleção de objetos SPListItem .
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListItemCollection
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Class SPListItemCollection _
Inherits SPBaseCollection _
Implements IEnumerable
'Uso
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection,
IEnumerable
Comentários
Para retornar uma coleção de itens de uma lista, é recomendável usar um dos métodos da classe SPList , GetItems* em vez da propriedade Items . Por exemplo, você pode usar o método GetItems da classe SPList e passe um objeto SPQuery para retornar os itens específicos de uma lista. Para itens em bibliotecas de documentos, use o método GetItemsInFolder da classe SPDocumentLibrary .
Depois de retornar uma coleção de itens de lista e atribuí-la a um objeto de SPListItemCollection , você pode usar um indexador para retornar um único item da coleção. Por exemplo, supondo que a coleção é atribuído a uma variável chamada collListItems, use collListItems[index] em C# ou collListItems(index) no Visual Basic, onde o índice é o número de índice do item na coleção ou o nome de um campo da lista de exibição. Como alternativa, para retornar um único item de coleção de itens em uma lista, use os métodos de Get* de SPList ou outro objeto do SharePoint, sempre que possível devolver itens específicos ou arquivos. Se você usar um desses métodos, você não enumerar todos os itens da lista ou biblioteca para retornar o item. Por exemplo, use o método GetFile da classe SPWeb para retornar um determinado arquivo de uma biblioteca em um site da Web ou use o método GetItemByUniqueId(Guid) da classe SPList para recuperar um item específico quando souber seu GUID.
Para criar um item, você pode usar um dos métodos Add() da coleção de itens de lista, embora seja mais eficiente usar o método AddItem() diretamente do objeto de lista pai.
Examples
O exemplo de código a seguir usa o método GetItems retornar itens específicos de uma lista de origem em um site e, em seguida, adicionar esses itens a uma lista de destino em outro site.
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();
Dica
Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.
Thread safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.