Share via


SPListItemCollection class

表示SPListItem物件的集合。

Inheritance hierarchy

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

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

Syntax

'宣告
Public Class SPListItemCollection _
    Inherits SPBaseCollection _
    Implements IEnumerable
'用途
Dim instance As SPListItemCollection
public class SPListItemCollection : SPBaseCollection, 
    IEnumerable

備註

若要從清單中傳回的項目集合,它會是最佳的作法,若要使用其中一個GetItems*類別的方法SPList ,而非Items屬性。例如,您可以使用SPList類別的GetItems方法,並傳遞SPQuery物件以從清單中傳回特定的項目。對於文件庫中的項目,請使用SPDocumentLibrary類別的GetItemsInFolder方法。

一旦您傳回清單項目集合,並將它指派給SPListItemCollection物件,您可以使用索引子來從集合傳回單一項目。例如,假設集合指派給變數,名為collListItems,使用在 C# 的collListItems[index]或collListItems(index)在 Visual Basic,索引所在集合中項目的索引編號,或者是清單欄位的顯示名稱。或者,如果要從清單中的項目集合中傳回單一項目,請使用其中一個SPList或另一個 SharePoint 物件盡可能傳回特定的項目或檔案的Get*方法。如果您使用其中一個方法,您不會列舉清單或文件庫来傳回的項目中的所有項目。例如,使用SPWeb類別的GetFile方法來傳回特定的檔案從在網站上時,程式庫,或使用SPList類別的GetItemByUniqueId(Guid)方法來擷取特定的項目,當您知道的 GUID。

若要建立項目,您可以使用其中一個**Add()**方法的清單項目集合中,雖然它是使用直接從父清單物件的AddItem()方法更有效率。

Examples

下列程式碼範例會使用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

Thread safety

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

請參閱

參照

SPListItemCollection members

Microsoft.SharePoint namespace