2016-04-01 21 views
0

私はsharepointを初めて使っています。私は、sharepointから取得したアイテムリストから保護者とそれぞれの子供のツリービューリストを作成しようとしています。私のコードでは、アイテムを識別するために "ID"フィールド値を使用し、このアイテムに親があるかどうかを判断するためにlookupvalue "parentleafname"を使用します。 "parentleafname"の "ID"とルックアップ値は同じですが、表示されます。リスト内のアイテムから親IDを返すにはどうすればよいですか?Sharepoint 2013 GetItems親id

private ListItemCollection GetList(string listName) 
     { 
      var web = _sharePointContext.Web; 
      Microsoft.SharePoint.Client.List list = web.Lists.GetByTitle(listName); 

      var query = new CamlQuery(); 

      query.ViewXml = "<View Scope=\"RecursiveAll\"> " + 
          "<Query>" + 
          "<OrderBy>" + 
          "< FieldRef Name = 'ID' />" + 
          "</ OrderBy >" + 
          "</ Query >" + 
          "</View>"; 

      query.FolderServerRelativeUrl = "/lists/" + listName; 
      ListItemCollection folders = list.GetItems(query); 

      _sharePointContext.Load(list); 
      _sharePointContext.Load(list.Fields); 
      _sharePointContext.Load(folders, fs => fs.Include(
       fi => fi["Title"], 
       fi => fi["DisplayName"], 
       fi => fi["FileLeafRef"], 
       fi => fi["ParentLeafName"], 
       fi => fi["ID"], 
       fi => fi["ContentTypeId"] 
       )); 
      _sharePointContext.ExecuteQuery(); 


      return folders; 
     } 

答えて

0

これは、この問題を解決する最善の方法ではありませんが、動作します。私はここで説明したように、私のリストの各項目のために検索することができ、親フォルダのプロパティServerRelativeUrlを使用するために管理:

Is there a way to get Folder object from ListItem one?

私は、このクラスを使用してパス(ServerRelativeURL)から親/子階層を構築しました:

How to create hierarchical structure with list of path?

関連する問題