在我的代码中,我将所有日历事件存储在一个名为"arlist“的数组列表中。我想按事件开始日期对数组列表进行排序,以便对所有事件进行排序。对如何对数组列表进行排序有什么建议吗?
谢谢!J
foreach (SPWeb web in CurrentSiteCollection.AllWebs)
{
SPListCollection weblists = web.Lists;
try
{
SPList Calist = weblists["Calendar"];
SPQuery Iquery = new SPQuery();
Iquery.ExpandRecurrence = true;
Iquery.Query = "<Where><And><Eq><FieldRef Name='IsPublic'/>" +
"<Value Type= 'bit'>1</Value></Eq>" +
"<DateRangesOverlap><FieldRef Name=\"EventDate\" /><FieldRef Name=\"EndDate\" /><FieldRef Name=\"RecurrenceID\" />" +
"<Value Type=\"DateTime\"><Month /></Value></DateRangesOverlap> </And></Where>";
Iquery.CalendarDate = sdate;
SPListItemCollection gItems = Calist.GetItems(Iquery);
if (gItems.Count > 0)
{
arlist.Add(gItems);
urlist.Add(string.Format("{0}/{1}? ID=",Calist.ParentWebUrl,Calist.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url));
}
}
catch (Exception)
{ }发布于 2011-10-26 03:37:51
为什么不使用泛型集合而不是ArrayList?
声明
List<SPListItem> arlist = new List<SPListItem>();执行此操作
foreach (SPListItem Item in gItems) {
arlist.Add(Item);
}代替arlist.Add(gItems);
最后,当您完成遍历所有子站点并添加所有事件时,如下所示
arlist.OrderBy((x) => x.Item("EventDate"));不要忘记添加名称空间system.collections.generic。
https://stackoverflow.com/questions/7893109
复制相似问题