我有一个任务项,我希望递归地获取所有子任务,包括它的子子任务,最好通过CSOM,但我很欣赏任何暗示如何做到这一点。 我尝试了一个查询任务的ParentID的caml查询。但是,以下查询仅返回直接嵌套的子任务(1级)。
<Query>
<Where>
<Eq>
<FieldRef Name="ParentID" />
<Value Type="Counter">1</Value>
</Eq>
</Where>
</Query>
向查询添加<View Scope="RecursiveAll">
也没有改变任何内容。
答案 0 :(得分:0)
在CAML中,你没有任何办法可以做到这一点;它不是一个足够强大的语言来执行这样的查询。
您需要下拉列表中的所有数据,并在内存中进行查询,或者您需要在查询中获取节点的所有直接死亡,执行另一个查询将所有节点降低一级,依此类推,直到您得不到更多结果。是否更好地提取您不需要的大量数据,或者执行多次往返以获取数据,将取决于您拥有多少数据,以及有多深你希望你的树木可以去。
<View Scope="RecursiveAll">
用于指示应查询所有文件夹中的项目,而不仅仅是根(或指定)文件夹。您的商品不在文件夹中,因此这不会影响您的查询。