Compartir a través de


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.

Vea también

Referencia

clase SPQuery

Miembros SPQuery

Espacio de nombres Microsoft.SharePoint