Compartilhar via


SPQuery.RowLimit property

Obtém ou define um limite para o número de itens retornados na consulta por página.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
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; }

Property value

Type: System.UInt32
Um inteiro de 32 bits sem sinal que especifica o limite de linha.

Comentários

A propriedade RowLimit contém um valor que corresponde ao valor do elemento RowLimitCollaborative Application Markup Language.

A propriedade RowLimit é usada em conjunto com a propriedade ListItemCollectionPosition para definir a paginação em uma consulta. Especificamente, o objeto de SPListItemCollectionPosition que é mantido na propriedade ListItemCollectionPosition é 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.

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.

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".

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);
}

O exemplo de código a seguir usa a propriedade RowLimit para especificar um limite de 50 itens por página para retornar na consulta.

Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces Microsoft.SharePoint e 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>");
    }
}

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Ver também

Referência

SPQuery class

SPQuery members

Microsoft.SharePoint namespace