Freigeben über


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.

Siehe auch

Referenz

SPListItemCollection-Member

Microsoft.SharePoint-Namespace