Export (0) Print
Expand All

SPListItemCollection Class

Windows SharePoint Services 3

Represents a collection of SPListItem objects.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class SPListItemCollection : SPBaseCollection

To return a collection of items from a list, it is best practice to use one of the GetItems* methods of the SPList class, instead of the Items property. For example, you can use the GetItems method of the SPList class and pass an SPQuery object to return specific items from a list. For items in document libraries, use the GetItemsInFolder method of the SPDocumentLibrary class.

Once you return a list item collection and assign it to an SPListItemCollection object, you can use an indexer to return a single item from the collection. For example, assuming the collection is assigned to a variable named collListItems, use collListItems[index] in C#, or collListItems(index) in Visual Basic, where index is either the index number of the item in the collection or the display name of a list field.

Always use a Get* method on a higher-level SharePoint object to return specific items or files. If you use one of these methods, you do not enumerate all the items in the list or library. For example, instead of using the SPListItemCollection object, use the GetFile method of the SPWeb class to return a specific file from a library in a Web site, or use the GetItems method of the SPList class, and pass an SPQuery object to return specific items from a list.

The following code example uses the GetView method to return specific items from a source list in one site and then add these items to a destination list in another site.

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();
NoteNote

Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Best Practices: Using Disposable Windows SharePoint Services Objects.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

ADD
Show:
© 2014 Microsoft