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.