2009-06-08 2 views
3

되풀이 모임 작업 영역의 특정 목록에서 모든 항목을 가져오고 싶습니다. 다음 CAML을 실행하려고했습니다 :모임 작업 영역에서 프로그래밍 방식으로 목록의 모든 의제 항목 받기

<Query> 
    <Where> 
     <IsNotNull> 
     <FieldRef Name='ID' /> 
     </IsNotNull> 
    </Where> 
</Query> 

그러나 향후 회의에 대한 데이터 만 표시합니다.

그러나 목록을 열 때 작업 메뉴에서 모든 모임의 데이터를 표시하도록 선택할 수 있습니다. 그게 가능하다고 생각하게 만듭니다. 목록을 시리즈 항목으로 변환하여 모든 회의에 표시 할 수 있다는 것을 알고 있지만 원하는 것은 아닙니다.

답변

5

예요!

마지막으로 해결책을 찾았습니다. SPQuery 클래스를 사용하면 (6 월 15에 대해 2009 개 항목을 예를 들어 20090615에 대한) 특정 InstanceID에 값을 할당 할 수 있습니다 또는 당신이 그것을 SPMeeting.SpecialInstance 열거 값을 할당해야하는 모든 항목을 조회하는 속성 MeetingInstanceId을 가지고 (안 그것을 int로 던지는 것을 잊어라.)

그런 다음 쿼리를 실행하여 원하는 작업 영역에서 항목을 가져옵니다.

아, 그리고

using Microsoft.SharePoint.Meetings; 

을 잊지 마세요 아니면 SPMeeting.SPecialInstance를 사용 ommit 만 -3 0

샘플 코드에 직접 integeres를 사용할 수 있습니다

using(SPSite site = new SPSite(<enter your workspace url>)) 
using (SPWeb web = site.OpenWeb()) 
{    
    SPQuery query = new SPQuery(); 
    query.MeetingInstanceId = (int)SPMeeting.SpecialInstance.AllButSeries; 
    query.Query = @"<Query> 
         <Where> 
          <IsNotNull> 
          <FieldRef Name='ID' /> 
          </IsNotNull> 
         </Where> 
        </Query>"; 

    SPList list = web.Lists[<enter your list>]; 
    foreach (SPListItem item in list.GetItems(query)) 
    { 
     Console.WriteLine(item[item.Fields.GetFieldByInternalName("Title").Id]); 
    } 
} 

이것을 발견하는 데는 많은 시간이 걸렸습니다. 아마이 문제에 대한 그물에 대한 정보가 너무 많지 않거나 적절한 키워드를 선택하지 않았지만 어쨌든 this 소스에 대한 크레딧은 "모든 목록 항목을 sharepoint 작업 영역에 반복적으로 가져 오기"라는 키워드를 얻는 데 도움이됩니다.

다른 사람들에게 도움이되기를 바랍니다.

+0

저에게 GetListItems 메소드의 서명은 입니다. public System.Xml.Linq.XElement GetListItems (string listName, string viewName, System.Xml.Linq.XElement query, System. Xml.Linq.XElement viewFields, string rowLimit, System.Xml.Linq.XElement queryOptions, string webID) ' 'XmlElement'가 아닌'XElement'를 사용합니다. 그리고 나는 그것에 대해 같은 오류가 발생합니다. – Kiquenet

0

목록의 기본보기에는 앞으로 모임 목록 항목 만 표시되고 과거 모임 목록 항목은 표시되지 않는다고 생각합니다.

CAML 조회를 실행하는보기를 지정하지 않으면 기본보기에서 모든 항목이 검색됩니다. 기본보기 대신 모든 항목보기 (달력 인 경우 모든 이벤트보기)를 사용하고 SPQuery.ExpandRecurrence 속성도 true로 설정하십시오.

+0

하지만 SPQuery.ExpandRecurrende 속성은 도움이되지 않습니다. AllItems보기는 모든 되풀이 모임의 항목을 표시하지 않고이 항목 만 표시합니다. 참석자 (AllItems.aspx), 참석자 관리 (ManageA.aspx) 및 default.aspx 브라우저에서 데이터를 가져올 때 url에 대한 문자열 인 InstanceID = ALL과 모든 데이터를 반환합니다 ... –