2015-02-17 1 views
0

У меня есть элемент задачи, и я хочу, чтобы все его подзадачи, включая его подзадачи, были рекурсивно, желательно через CSOM, но я ценю любой намек на то, как это можно сделать , Я пробовал запрос caml, который запрашивает ParentID задачи. Однако следующий запрос возвращает только прямые вложенные подзадачи (1 уровень).получить все подзадачи (включая subsubtasks) сводной задачи Sharepoint через CSOM

<Query> <Where> <Eq> <FieldRef Name="ParentID" /> <Value Type="Counter">1</Value> </Eq> </Where> </Query>

Добавление <View Scope="RecursiveAll"> к запросу ничего не изменится ни.

ответ

0

В CAML не будет никакого способа сделать это; это просто не достаточно сильный язык для выполнения такого запроса.

Вам потребуется либо вытащить все данные в списке, либо выполнить запрос в памяти, либо вам нужно будет получить все прямые декодеры узла в запросе, выполнить другой запрос в получить все узлы на один уровень вниз и т. д., пока вы не получите больше результатов. Будет ли лучше вытащить большое количество данных, которые вам не нужны, или выполнить много круговых поездок для получения данных, будет зависеть только от того, сколько данных у вас есть, и от того, насколько вы ожидаете своих деревьев идти.

<View Scope="RecursiveAll"> указывает, что элементы во всех папках следует запрашивать, а не только корневую (или указанную) папку. Ваши объекты не находятся в папках, поэтому это не влияет на ваш запрос.

+0

Спасибо Sevy. Я боялся, что это невозможно сделать легко. –

Смежные вопросы