Класс SPListItemCollection

Представляет коллекцию объектов SPListItem .

Иерархия наследования

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPListItemCollection

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Class SPListItemCollection _
    Inherits SPBaseCollection _
    Implements IEnumerable
'Применение
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection, 
    IEnumerable

Замечания

Возвращает коллекцию элементов в списке, рекомендуется использовать один из методов класса SPList , GetItems* вместо Items свойства. Например можно использовать метод GetItems класса SPList и передать объект SPQuery для возврата определенных элементов из списка. Для элементов в библиотеках документов используйте метод GetItemsInFolder класса SPDocumentLibrary .

После возвращения коллекции элементов списка и назначить объект SPListItemCollection можно использовать индексатор для получения одного элемента из коллекции. Например предположим, что коллекция присваивается переменной с именем collListItems, используйте collListItems[index] в C# или collListItems(index) в Visual Basic, где индекс является индекс элемента в коллекции или отображаемое имя в поле списка. Кроме того для возвращения одного элемента из коллекции элементов в списке, воспользуйтесь одним из методов Get* , SPList или другого объекта SharePoint, по возможности, для возврата определенных элементов или файлов. При использовании одного из этих методов не перечислить все элементы списка или библиотеки для возврата товара. Например используйте метод GetFile класса SPWeb для возврата конкретного файла из библиотеки на веб-узле, или использовать метод GetItemByUniqueId(Guid) класса SPList для получения определенной номенклатуры, если вы знаете его идентификатор GUID.

Чтобы создать элемент, можно использовать один из методов Add() коллекции элементов списка, хотя более эффективно использовать метод AddItem() непосредственно из списка родительского объекта.

Примеры

В следующем примере кода используется метод GetItems для возврата определенных элементов из исходного списка в одном сайте, а затем добавить эти элементы в целевой список в другом сайте.

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

Примечание

Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPListItemCollection

Пространство имен Microsoft.SharePoint