2011-10-25 4 views
0

내 코드에서 "arlist"라는 arraylist에 모든 달력 이벤트를 저장했습니다. 모든 이벤트가 정렬되도록 이벤트 시작 날짜별로 arraylist를 정렬하고 싶습니다. 내가 arraylist를 어떻게 분류 할 수 있는지에 대한 아이디어가 있습니까?sharepoint 여러 달력 결합 spquery arraylist 정렬

감사합니다. 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) 
      { } 

답변

0

왜 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 네임 스페이스를 추가하는 것을 잊지 마십시오.