我有一个任务项,我想递归地获取它的所有子任务,包括它的子任务,最好是通过CSOM,但我很感谢任何关于如何做到这一点的提示。我尝试使用caml查询来查询任务的ParentID。然而,下面的查询只返回直接嵌套子任务(1级)。
<Query> <Where> <Eq> <FieldRef Name="ParentID" /> <Value Type="Counter">1</Value> </Eq> </Where> </Query>
向查询添加<View Scope="RecursiveAll">也不会改变任何东西。
发布于 2015-02-18 03:41:18
在CAML中没有任何方法可以做到这一点;它只是不是一种足够健壮的语言来执行这样的查询。
您需要下拉列表中的所有数据,并在内存中执行查询,或者需要获取查询中节点的所有直接继承,执行另一个查询以获取下一级的所有节点,依此类推,直到没有更多的结果。是拉下大量不需要的数据更好,还是执行多次往返来获取数据,这将取决于您拥有多少数据,以及您希望您的树深入到什么程度。
<View Scope="RecursiveAll">的作用是指出应该查询所有文件夹中的项目,而不仅仅是根(或指定的)文件夹。您的项目不在文件夹中,因此这不会影响您的查询。
https://stackoverflow.com/questions/28569250
复制相似问题