SPListItemCollection - Classe
Représente une collection d'objets SPListItem .
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListItemCollection
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Class SPListItemCollection _
Inherits SPBaseCollection _
Implements IEnumerable
'Utilisation
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection,
IEnumerable
Remarques
Pour retourner une collection d'éléments dans une liste, il est recommandé d'utiliser une des méthodes de la classe SPList , GetItems* au lieu de la propriété Items . Par exemple, vous pouvez utiliser la méthode GetItems de la classe SPList et passez un objet SPQuery pour renvoyer des éléments spécifiques dans une liste. Pour les articles dans les bibliothèques de documents, utilisez la méthode GetItemsInFolder de la classe SPDocumentLibrary .
Une fois que vous retournez une collection d'éléments de liste et l'affectez à un objet SPListItemCollection , vous pouvez utiliser un indexeur pour renvoyer un seul élément de la collection. Par exemple, en supposant que la collection est assignée à une variable nommée collListItems, utiliser collListItems[index] dans C# ou collListItems(index) dans Visual Basic, où index représente le numéro d'index de l'élément dans la collection ou le nom complet d'un champ liste. Ou bien, pour retourner un seul élément de la collection d'éléments dans une liste, utilisez une des méthodes de Get* de SPList ou d'un autre objet SharePoint dès que possible retourner des articles ou des fichiers. Si vous utilisez une de ces méthodes, vous ne l'énumèrent pas tous les éléments de la liste ou la bibliothèque pour renvoyer l'article. Par exemple, la méthode GetFile de la classe SPWeb permet de renvoyer un fichier spécifique à partir d'une bibliothèque dans un site Web, ou utilisez la méthode GetItemByUniqueId(Guid) de la classe SPList pour récupérer un article spécifique si vous connaissez son GUID.
Pour créer un élément, vous pouvez utiliser l'une des méthodes Add() de la collection d'éléments de liste, même s'il est plus efficace d'utiliser la méthode AddItem() directement à partir de l'objet de liste parente.
Exemples
L'exemple de code suivant utilise la méthode GetItems pour renvoyer des éléments spécifiques à partir d'une liste de sources dans un seul site et ensuite ajouter ces éléments à une liste de destination dans un autre 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();
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.