C# 反转散斑图
我需要以相反的顺序(从最后一个条目到第一个条目)从列表中提取项目。我设法弄到了所有的东西,但是,从第一件到最后一件。以下是我正在使用的部分代码: 该列表位于其他网站集上C# 反转散斑图,c#,sharepoint,C#,Sharepoint,我需要以相反的顺序(从最后一个条目到第一个条目)从列表中提取项目。我设法弄到了所有的东西,但是,从第一件到最后一件。以下是我正在使用的部分代码: 该列表位于其他网站集上 using (SPSite oSite = new SPSite("urltolist")) { using (SPWeb oWeb = oSite.RootWeb) { SPList FItem = oWeb.Lists
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]
),您最终会重复查询列表,因此不要这样做。获取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
}
}
使用(var site=new SPSite(“urltolist”))
{
var list=site.RootWeb.Lists[“list”];
foreach(list.Items.Cast().Reverse().ToList()中的变量li)
{
//显示条目
}
}
在这种情况下,您不需要处理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
}
}
使用(var site=new SPSite(“urltolist”))
{
var list=site.RootWeb.Lists[“list”];
foreach(list.Items.Cast().Reverse().ToList()中的变量li)
{
//显示条目
}
}
您需要问的问题是项目的开始顺序-按照您的方式,它们将按ID排序(类似于创建时间)。如果您想以另一种方式对它们进行排序,请使用带有OrderBy子句的SPQuery来检索列表项。您需要问的问题是这些项的开始顺序-按照您的方式,它们将按ID排序(类似于创建时间)。如果要以另一种方式对它们进行排序,请使用带有OrderBy子句的SPQuery来检索列表项。这也可以通过CAML查询来完成。您需要退回所有物品吗?如果可以限制查询,则可以使用CAML节点 这也可以通过CAML查询完成。您需要退回所有物品吗?如果可以限制查询,则可以使用CAML节点 在RootWeb
上获得了很好的捕获。但是为什么要使用ToList
?您不需要ToList()。我只是偶尔添加它,以明确我强制Linq表达式求值的位置。这是RootWeb
上的好消息。但是为什么要使用ToList
?您不需要ToList()。我只是偶尔添加它,以明确我强制Linq表达式求值的位置。