SPQuery.ListItemCollectionPosition - Propriété
Obtient ou définit un objet qui est utilisé pour obtenir le prochain jeu de lignes dans un affichage d'une liste paginé.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Property ListItemCollectionPosition As SPListItemCollectionPosition
Get
Set
'Utilisation
Dim instance As SPQuery
Dim value As SPListItemCollectionPosition
value = instance.ListItemCollectionPosition
instance.ListItemCollectionPosition = value
public SPListItemCollectionPosition ListItemCollectionPosition { get; set; }
Valeur de propriété
Type : Microsoft.SharePoint.SPListItemCollectionPosition
Un objet SPListItemCollectionPosition .
Remarques
La propriété ListItemCollectionPosition est utilisée avec la propriété RowLimit pour définir la pagination dans une requête. Plus précisément, l'objet SPListItemCollectionPosition est utilisé 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.
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 ».
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.
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);
}