SPListItemCollection-Klasse
Stellt eine Auflistung von SPListItem -Objekten dar.
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPListItemCollection
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Class SPListItemCollection _
Inherits SPBaseCollection _
Implements IEnumerable
'Usage
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection,
IEnumerable
Hinweise
Um eine Auflistung von Elementen aus einer Liste zurückzugeben, ist es empfehlenswert, eine der GetItems* -Methoden der Klasse SPList anstelle der Items -Eigenschaft verwenden. Sie können z. B. verwenden Sie die Methode GetItems der Klasse SPList und übergeben ein SPQuery -Objekt, um bestimmte Elemente aus einer Liste zurück. Verwenden Sie für Artikel in Dokumentbibliotheken die GetItemsInFolder -Methode der SPDocumentLibrary -Klasse.
Nachdem Sie eine Elementauflistung Liste zurückkehren und ein SPListItemCollection -Objekt zuweisen, können ein Indexers Sie ein einzelnes Element aus der Auflistung zurückzugeben. Vorausgesetzt, die Auflistung z. B. eine Variable namens collListItemszugeordnet ist, verwenden Sie collListItems[index] in C# oder collListItems(index) in Visual Basic, wobei Index die Indexnummer des Elements in der Auflistung oder den Anzeigenamen eines Felds Liste ist. Auch um ein einzelnes Element aus der Auflistung von Menüelementen in einer Liste zurückzugeben, verwenden Sie eine der Methoden Get*SPList oder einer anderen SharePoint-Objekts, wann immer möglich, bestimmte Elemente oder Dateien zurück. Wenn Sie eine dieser Methoden verwenden, werden nicht alle Elemente in der Liste oder Bibliothek, um das Element zurückgeben können enumeriert werden. Z. B. verwenden Sie die GetFile -Methode der SPWeb -Klasse, um eine bestimmte Datei aus einer Bibliothek in einer Website zurückzugeben, oder verwenden Sie die GetItemByUniqueId(Guid) -Methode der SPList -Klasse auf ein bestimmtes Element abzurufen, wenn Sie wissen, dass die GUID.
Um ein Element zu erstellen, können eine der Add() -Methoden der Elementauflistung Liste Sie zwar effizienter, die AddItem() -Methode direkt aus dem übergeordneten Listenobjekts zu verwenden.
Beispiele
Im folgenden Codebeispiel verwendet die GetItems -Methode zum Zurückgeben bestimmter Elemente aus einer Quelle an einem Standort und fügen diese Elemente dann zu einer Zielliste in einem anderen Standort.
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();
Hinweis
Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, nachdem sie nicht mehr benötigt werden. Informationen zu bewährten Programmierpraktiken finden Sie unter Disposing Objects.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.