de la propiedad SPQuery.RowLimit
Obtiene o establece un límite para el número de elementos devueltos en la consulta por página.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Property RowLimit As UInteger
Get
Set
'Uso
Dim instance As SPQuery
Dim value As UInteger
value = instance.RowLimit
instance.RowLimit = value
public uint RowLimit { get; set; }
Valor de propiedad
Tipo: System.UInt32
Un entero de 32 bits sin signo que especifica el límite de filas.
Comentarios
La propiedad RowLimit contiene un valor que corresponde al valor del elemento RowLimit en Collaborative Application Markup Language.
La propiedad RowLimit se usa junto con la propiedad ListItemCollectionPosition para definir la paginación en una consulta. En concreto, el objeto SPListItemCollectionPosition que se mantiene en la propiedad ListItemCollectionPosition 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.
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.
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".
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);
}
En el ejemplo de código siguiente se utiliza la propiedad RowLimit para especificar un límite de 50 elementos por página para devolver en la consulta.
En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres Microsoft.SharePoint y Microsoft.SharePoint.Utilities .
Dim webSite As SPWeb = SPContext.Current.Site.AllWebs["Site_Name"]
Try
Dim list As SPList = webSite.Lists("List_Name")
Dim query As New SPQuery()
query.ViewFields = "<FieldRef Name='Field1'/>" + _
"<FieldRef Name='Field2'/>"
query.RowLimit = 50
Dim items As SPListItemCollection = list.GetItems(query)
Dim item As SPListItem
For Each item In items
Response.Write((SPEncode.HtmlEncode(item.Xml) + "<BR>"))
Next item
Finally
webSite.Dispose()
End Try
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["Website_Name"])
{
SPList oList = oWebsite.Lists["List_Name"];
SPQuery oQuery = new SPQuery();
oQuery.ViewFields = "<FieldRef Name='Field1'/>" +
"<FieldRef Name='Field2'/>";
oQuery.RowLimit = 50;
SPListItemCollection collListItems = oList.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
Response.Write(SPEncode.HtmlEncode(oListItem.Xml) + "<BR>");
}
}
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.