de la propiedad SPQuery.ListItemCollectionPosition
Obtiene o establece un objeto que se utiliza para obtener el siguiente conjunto de filas en una vista de página de una lista.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
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; }
Valor de propiedad
Tipo: Microsoft.SharePoint.SPListItemCollectionPosition
Un objeto SPListItemCollectionPosition .
Comentarios
La propiedad ListItemCollectionPosition se usa junto con la propiedad RowLimit para definir la paginación en una consulta. En concreto, el objeto SPListItemCollectionPosition se usa para recorrer en iteración todos los elementos de los elementos de una colección n a la vez, donde n es el valor especificado como un límite de filas.
Ejemplos
En el ejemplo de código siguiente se usa las propiedades de ListItemCollectionPosition de las clases SPListItemCollection y SPQuery para devolver un objeto SPListItemCollectionPosition para almacenar donde cada página de datos termina en la colección de elementos y muestra los títulos de los elementos en grupos de 10 filas. En el ejemplo se supone que la lista es una biblioteca de documentos o que se habilitan las carpetas en la lista. En el ejemplo también se supone que la lista incluye un campo con el nombre interno "Campo1" y un campo con el nombre interno "Field2".
Nota
Para obtener información acerca de cómo usar las consultas de Language-Integrated Query (LINQ) para recuperar elementos de lista en SharePoint Foundation, consulte Managing Data with LINQ to SharePoint.
En este ejemplo se requieren using directivas (Imports en Microsoft Visual Basic) para los espacios de nombres Microsoft.SharePoint y 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);
}