簡體   English   中英

反向SP列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM