[英]reverse an SPlist
我需要以相反的順序(從最后一個條目到第一個)從列表中提取項目。 我設法得到了所有物品,但是,從頭到尾。 這是我正在使用的部分代碼:
該列表位於其他網站集上。
using (SPSite oSite = new SPSite("urltolist"))
{
using (SPWeb oWeb = oSite.RootWeb)
{
SPList FItem = oWeb.Lists["List"];
foreach (SPListItem item in FItem.Items)
{
//Display entries
}
}
}
獲取SPListItemCollection
,然后反向進行遍歷:
var itemCollection = FItem.Items;
for(int i = itemCollection.Count - 1; i >= 0; i--)
{
var item = itemCollection[i];
//Display entries
}
如果僅遍歷FItem.Items
(即重復調用FItem.Items[i]
),則最終將反復查詢列表,因此不要這樣做。
在這種情況下,您不需要處理RootWeb。
using(var site = new SPSite("urltolist"))
{
var list = site.RootWeb.Lists["List"];
foreach(var li in list.Items.Cast<SPListItem>().Reverse().ToList())
{
// Display entries
}
}
您需要問的問題是,物品以什么順序開始-您的操作方式將按照ID(類似於創建時間)進行排序。 如果要以其他方式對它們進行排序,請使用帶有OrderBy子句的SPQuery來檢索列表項。
這也可以通過CAML查詢來完成。 您需要退回所有物品嗎? 如果可以限制查詢,則可以使用CAML節點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.