SPListItemCollectionPosition - Classe

Prend en charge la pagination par le biais de jeux de données, stockage de l'état qui est requis pour obtenir une page de données d'une vue spécifique d'une liste.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPListItemCollectionPosition

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

Syntaxe

'Déclaration
Public Class SPListItemCollectionPosition
'Utilisation
Dim instance As SPListItemCollectionPosition
public class SPListItemCollectionPosition

Exemples

L'exemple de code suivant utilise les propriétés ListItemCollectionPosition de la classe SPListItemCollection et la classe SPQuery pour renvoyer un objet SPListItemCollectionPosition qui stocke les informations dans laquelle chaque page de données se termine par la collection d'éléments et qui affiche 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.

Cet exemple requiert les directives using (Imports dans Microsoft Visual Basic) pour les espaces de noms Microsoft.SharePoint et Microsoft.SharePoint.Utilities .

Dim site As SPWeb = SPControl.GetContextWeb(Context)
Dim list As SPList = site.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").ToString()) & _
            "<BR>")

    Next listItem

    query.ListItemCollectionPosition = _
        listItems.ListItemCollectionPosition

    i += 1

Loop While  Not (query.ListItemCollectionPosition Is Nothing) 
SPWeb oWebsite = SPContext.Current.Web;
SPList oList = oWebsite.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"].ToString()) +
        "<BR>");
    }

    oQuery.ListItemCollectionPosition =
        collListItems.ListItemCollectionPosition;
    intIndex++;
} while (oQuery.ListItemCollectionPosition != null);

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.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPListItemCollectionPosition - Membres

Microsoft.SharePoint - Espace de noms