SPQuery.ListItemCollectionPosition property
Obtém ou define um objeto que é usado para obter o próximo conjunto de linhas em uma exibição de uma lista de paginado.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Property ListItemCollectionPosition As SPListItemCollectionPosition
Get
Set
'Uso
Dim instance As SPQuery
Dim value As SPListItemCollectionPosition
value = instance.ListItemCollectionPosition
instance.ListItemCollectionPosition = value
public SPListItemCollectionPosition ListItemCollectionPosition { get; set; }
Property value
Type: Microsoft.SharePoint.SPListItemCollectionPosition
Um objeto SPListItemCollectionPosition .
Comentários
A propriedade ListItemCollectionPosition é usada em conjunto com a propriedade RowLimit para definir a paginação em uma consulta. Especificamente, o objeto SPListItemCollectionPosition é usado para percorrer todos os itens em uma coleção de itens de n ao mesmo tempo, onde n é o valor especificado como um limite de linha.
Examples
O exemplo de código a seguir usa as propriedades de ListItemCollectionPosition das classes SPListItemCollection e SPQuery para retornar um objeto SPListItemCollectionPosition para o armazenamento em cada página de dados termina com a coleção de itens e exibe os títulos dos itens em grupos de 10 linhas. O exemplo supõe que a lista é uma biblioteca de documentos ou se as pastas estiverem ativadas na lista. O exemplo também pressupõe que a lista inclui um campo com o nome interno "Campo1" e um campo com o nome interno "Campo2".
Dica
Para obter informações sobre como usar consultas Language-Integrated Query (LINQ) para recuperar itens de lista em SharePoint Foundation, consulte Managing Data with LINQ to SharePoint.
Este exemplo requer diretivas de using (Imports no Microsoft Visual Basic) para os namespaces Microsoft.SharePoint e Microsoft.SharePoint.Utilities .
Dim webSite As SPWeb = SPContext.Current.Site.RootWeb
Try
Dim list As SPList = webSite.Lists("Announcements")
Dim query As New SPQuery()
query.RowLimit = 10
query.Query = "<OrderBy Override=\"TRUE\">" & _
"<FieldRef Name=\"FileLeafRef\" /></OrderBy>";
Dim i As Integer = 1
Do
Response.Write(("<BR>Page: " + i + "<BR>"))
Dim listItems As SPListItemCollection = list.GetItems(query)
Dim listItem As SPListItem
For Each listItem In listItems
Response.Write((SPEncode.HtmlEncode(listItem("Title")) & "<BR>"))
Next listItem
query.ListItemCollectionPosition = _
listItems.ListItemCollectionPosition
i += 1
Loop While Not (query.ListItemCollectionPosition Is Nothing)
Finally
webSite.Dispose()
End Try
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
{
SPList oList = oWebsiteRoot.Lists["Announcements"];
SPQuery oQuery = new SPQuery();
oQuery.RowLimit = 10; oQuery.Query = "<OrderBy Override=\"TRUE\">" +
"<FieldRef Name=\"FileLeafRef\" /></OrderBy>";
int intIndex = 1;
do
{
Response.Write("<BR>Page: " + intIndex + "<BR>");
SPListItemCollection collListItems = oList.GetItems(oQuery);
foreach(SPListItem oListItem in collListItems)
{
Response.Write(SPEncode.HtmlEncode(oListItem["Title"]) +
"<BR>");
}
oQuery.ListItemCollectionPosition =
collListItems.ListItemCollectionPosition;
intIndex++;
} while(oQuery.ListItemCollectionPosition != null);
}