SPListItemCollection.ListItemCollectionPosition Property
Gets an object that is used to obtain the next set of rows in a paged view of a list.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: Yes
Available in SharePoint Online
Syntax
'Declaration
<ClientCallableAttribute> _
Public ReadOnly Property ListItemCollectionPosition As SPListItemCollectionPosition
Get
'Usage
Dim instance As SPListItemCollection
Dim value As SPListItemCollectionPosition
value = instance.ListItemCollectionPosition
[ClientCallableAttribute]
public SPListItemCollectionPosition ListItemCollectionPosition { get; }
Property Value
Type: Microsoft.SharePoint.SPListItemCollectionPosition
The paging information.
Remarks
The ListItemCollectionPosition property returns a null reference (Nothing in Visual Basic) if the number of items in the collection is fewer than the row limit for a page.
Examples
The following example is a console application that prints list items in pages with three items per page.
Imports System
Imports Microsoft.SharePoint
Module Test
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
Dim list As SPList = web.GetList("/lists/announcements")
Dim query As SPQuery = New SPQuery()
query.RowLimit = 3
' Print list items in pages with query.RowLimit items per page.
Dim index As Integer = 1
Do
Dim items As SPListItemCollection = list.GetItems(query)
Console.WriteLine(vbCrLf + "Page: {0} Items: {1}", index, items.Count)
For Each item As SPListItem In items
Console.WriteLine(item.Title)
Next
query.ListItemCollectionPosition = items.ListItemCollectionPosition
index = index + 1
' ListItemCollectionPosition is null for the last batch.
Loop Until query.ListItemCollectionPosition Is Nothing
End Using
End Using
Console.ReadLine()
End Sub
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList("/lists/announcements");
SPQuery query = new SPQuery();
query.RowLimit = 3;
// Print list items in pages with query.RowLimit items per page.
int index = 1;
do
{
SPListItemCollection items = list.GetItems(query);
Console.WriteLine("\nPage: {0} Items: {1}", index, items.Count);
foreach (SPListItem item in items)
Console.WriteLine(item.Title);
query.ListItemCollectionPosition = items.ListItemCollectionPosition;
index++;
} // ListItemCollectionPosition is null for the last batch.
while (query.ListItemCollectionPosition != null);
}
}
Console.ReadLine();
}
}
}