2011-07-27 21 views
5

Tôi muốn chọn danh sách các thư mục (không có thư mục con, không đệ quy) của thư viện Tài liệu bằng CrossListQueryCache.CAML Truy vấn để chọn các thư mục cấp cao nhất chỉ

Mọi thứ đều hoạt động tốt ngoại trừ việc tôi nhận được TẤT CẢ các thư mục và thư mục con trong danh sách và không chỉ là cấp thư mục đầu tiên. những gì tôi cần phải thay đổi trong các mã dưới đây để chỉ những cấp độ đầu tiên của thư mục sẽ được trả về mà không cần các thư mục con của họ và tiểu thư mục con vv ...

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); 

Trả lời

Các vấn đề liên quan