2011-07-27 34 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); 

答えて