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.