Partager via


SPQuery.RowLimit - Propriété

Obtient ou définit une limite pour le nombre d'éléments renvoyés par la requête par page.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Property RowLimit As UInteger
    Get
    Set
'Utilisation
Dim instance As SPQuery
Dim value As UInteger

value = instance.RowLimit

instance.RowLimit = value
public uint RowLimit { get; set; }

Valeur de propriété

Type : System.UInt32
Entier non signé 32 bits qui spécifie la limite de la ligne.

Remarques

La propriété RowLimit contient une valeur qui correspond à la valeur de l'élément RowLimitCollaborative Application Markup Language.

La propriété RowLimit est utilisée avec la propriété ListItemCollectionPosition pour définir la pagination dans une requête. Plus précisément, l'objet SPListItemCollectionPosition qui est contenue dans la propriété ListItemCollectionPosition est utilisée pour effectuer une itération à travers tous les éléments dans un n des éléments de collection à la fois, où n est la valeur spécifiée sous la forme d'une limite de ligne.

Notes

Pour plus d'informations sur la façon d'utiliser des requêtes de Language-Integrated Query (LINQ) pour récupérer des éléments de liste dans SharePoint Foundation, voir Managing Data with LINQ to SharePoint.

Exemples

L'exemple de code suivant utilise les propriétés ListItemCollectionPosition des classes SPListItemCollection et SPQuery pour renvoyer un objet SPListItemCollectionPosition pour le stockage dans laquelle chaque page de données se termine par la collection d'éléments et les titres des articles dans des groupes de 10 lignes. L'exemple suppose que la liste est une bibliothèque de documents ou que les dossiers sont activés dans la liste. L'exemple suppose également que la liste inclut un champ avec le nom interne « Champ1 » et un champ avec le nom interne « Champ2 ».

Cet exemple requiert les directives using (Imports dans Microsoft Visual Basic) pour les espaces de noms Microsoft.SharePoint et 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);
}

L'exemple de code suivant utilise la propriété RowLimit pour spécifier une limite de 50 éléments par page pour retourner dans la requête.

Cet exemple requiert les directives using (Imports dans Visual Basic) pour les espaces de noms Microsoft.SharePoint et 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>");
    }
}

Notes

Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.

Voir aussi

Référence

SPQuery classe

SPQuery - Membres

Microsoft.SharePoint - Espace de noms