2011-07-27 6 views
5

CrossListQueryCache를 사용하여 문서 라이브러리의 폴더 목록 (하위 폴더는 아니지만 재귀가 아님)을 선택하려고합니다.CAML 최상위 폴더 만 선택하는 쿼리

목록의 첫 번째 수준뿐만 아니라 모든 폴더와 하위 폴더를 받는다는 것을 제외하면 모든 것이 잘 작동합니다. "다른"범위 "와 폴더의 첫 번째 수준 하위 폴더 및 하위 하위 폴더 등없이 반환 될 수 있도록 내가 아래의 코드를 변경해야하는 일 ...

string query = string.Empty; 
string websQuery = string.Format("<Webs Scope=\"{0}\"/>", "None"); 
string lists = "<Lists ServerTemplate=\"101\"" + " ><List ID=\"" + listid + "\" /></Lists>"; 
bool useList = true; 
string relativeUrl = this.GetRelativeUrl(); 
query = string.Format("<Where><Eq><FieldRef Name='FSObjType' /><Value Type='LookUp'>1</Value></Eq></Where>", relativeUrl); 

CrossListQueryInfo info = new CrossListQueryInfo(); 
info.Lists = lists; 
info.Webs = websQuery; 
info.Query = query; 
info.ViewFields = "<FieldRef Name=\"FileLeafRef\"/>"; 
info.WebUrl = web.ServerRelativeUrl; 
CrossListQueryCache cache = new CrossListQueryCache(info); 
SiteDataResults sd = cache.GetSiteDataResults(site, true); 

답변

관련 문제