SPQuery.ListItemCollectionPosition-Eigenschaft
Ruft ein Objekt, mit dem die nächste Folge von Zeilen in eine seitenweise Ansicht einer Liste zu erhalten.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Property ListItemCollectionPosition As SPListItemCollectionPosition
Get
Set
'Usage
Dim instance As SPQuery
Dim value As SPListItemCollectionPosition
value = instance.ListItemCollectionPosition
instance.ListItemCollectionPosition = value
public SPListItemCollectionPosition ListItemCollectionPosition { get; set; }
Eigenschaftswert
Typ: Microsoft.SharePoint.SPListItemCollectionPosition
Ein SPListItemCollectionPosition -Objekt.
Hinweise
Die ListItemCollectionPosition -Eigenschaft wird zusammen mit der RowLimit -Eigenschaft verwendet, Paging in einer Abfrage definiert. Insbesondere wird das SPListItemCollectionPosition Objekt verwendet für die Iteration über alle Elemente in einer Auflistung n Elemente zu einem Zeitpunkt, in dem n Wert als Zeile Grenzwert festgelegt ist.
Beispiele
Das folgende Codebeispiel verwendet die ListItemCollectionPosition Eigenschaften der Klassen SPListItemCollection und SPQuery ein SPListItemCollectionPosition -Objekt gespeichert, in dem jede Seite der Daten in die Auflistung von Elementen beendet und zeigt die Titel der Elemente in Gruppen von je 10 Zeilen zurück. Im Beispiel wird davon ausgegangen, dass die Liste einer Dokumentbibliothek oder Ordner in der Liste aktiviert werden. Weiterhin wird vorausgesetzt, dass die Liste ein Feld mit dem internen Namen "Field1" und ein Feld mit dem internen Namen "Field2" enthält.
Hinweis
Informationen dazu, wie Sie Abfragen (Language-Integrated Query, LINQ) verwenden, um Listenelemente in SharePoint Foundationabzurufen finden Sie unter Managing Data with LINQ to SharePoint.
Dieses Beispiel erfordert using Richtlinien (Imports in Microsoft Visual Basic) für die Namespaces Microsoft.SharePoint und 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);
}