Запросы CAML: как отфильтровать папки от набора результатов?

вы должны использовать

double g=1.0/3;

или

double g=1/3.0;

Целочисленное деление возвращает целое число.

21
задан drax 2 December 2008 в 08:22
поделиться

4 ответа

Этот CAML действительно помогает:

<Where>
    <Eq>
        <FieldRef Name='FSObjType' />
        <Value Type='Integer'>0</Value>
    </Eq>
</Where>

не дает вам никаких папок.

25
ответ дан 29 November 2019 в 20:03
поделиться

Так, я понял его:) Можно использовать FieldRef ='ContentType' в caml, запрашивают и определяют typr типа контента, который Вы хотите выбрать или исключить из выбора.

Так в моем случае я добавил это условие к своему caml выражению:

<Neq><FieldRef Name='ContentType' /><Value Type='Text'>Folder</Value></Neq>

ПРИМЕЧАНИЕ: во много установке языка существуют проблемы. Название типа контента может отличаться, таким образом, хорошо получить названия типов контента от ресурсов

ОБНОВЛЕНИЕ:

похоже, что я был слишком быстр в своих предположениях. Я должен отфильтровать все типы contett на основе типа контента папки, потому что в наших проектах такие типы контента используются: (

я не смог создать осуществимый запрос в caml, таким образом, я добавил полевой элемент представления к своему запросу, который выбирает ContentTypeId элемента списка, и я отфильтровываю строки, которые основаны на типе контента папки.

Код, чтобы сделать это тривиально, но он беспокоит меня, что такая простая задача не может быть сделана чистым caml.

13
ответ дан 29 November 2019 в 20:03
поделиться

Если вы работаете с папками и используете объект SPQuery, вы также можете использовать поле ViewAttributes, чтобы разрешить рекурсивное извлечение элементов. Установка значения в Scope = "Recursive" будет извлекать элементы из подпапок и не будет извлекать объекты папок в наборе результатов.

myQuery.ViewAttributes = "Scope=\"Recursive\"";
5
ответ дан 29 November 2019 в 20:03
поделиться

Это то, что сработало для меня

   <Where>
      <Eq>
         <FieldRef Name='FSObjType' />
         <Value Type='Number'>1</Value>
      </Eq>
   </Where>
0
ответ дан 29 November 2019 в 20:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: