Почему документы внутри папки не показывают, когда применяется фильтр?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/6129

Вопрос

Я добавил пользовательский столбец Project (String) в список документов. Затем я устанавливаю разные представления на разных страницах для фильтрации в этом столбце.

Проблема в том, что при применении фильтра документы, хранящиеся внутри папки, не отображаются, даже если значение столбца проекта соответствует одному установку в фильтре.

Вы знаете, как решить эту проблему?

Это было полезно?

Решение

На основании вашего последнего комментария

Я создаю веб -часть для отображения списка документов на определенной странице, а затем я применил фильтр на содержимое столбца, чтобы показать только определенные документы. Но таким образом структура папок потеряна, и все документы показаны плоскими.

Я думаю, что сейчас могу ответить на ваш вопрос.

Если вы создаете новое представление и выберете в разделе фильтра

Тип контента равна папке

ИЛИ ЖЕ

А затем добавьте дополнительное условие, которое вы хотите применить к документам.

Таким образом, папки всегда будут отображаться, но их содержание будет отфильтрован на основе дополнительного ограничения.

Это приведет к отображению папок, содержат ли они каких -либо детей, соответствующих дополнительному ограничению, но вы сможете ориентироваться в иерархии.

Другие советы

Если вы создали представление в коде, вам нужно будет указать Scope = "Reccurive" ViewAttribute

Некоторые примеры приведены здесь

http://sharepointmagazine.net/technical/development/writing-caml-queries-for-retriving-list-items-from-a-sharepoint-list

Если вы создали представления с интерфейсом SharePoint, вам понадобится

  1. Изменить представление.
  2. Расширить раздел «Папки» на странице «Редактировать просмотр
  3. Выберите «Показать все элементы без папок»

Это выполнит рекурсивный запрос.

Указание ViewAttributes Scope='Recursive' Кажется, не работает, скорее, свойство Spope Spview необходимо настроить на рекурсивную:

SPView view = list.Views.Add(“TestView”, fields, string.Empty, 100, true, false);
view.Scope = SPViewScope.Recursive;

Вот полный пример:

http://sharepointnadeem.blogspot.in/2012/02/create-view-to-show-all-items-without.html

Хотя я понимаю, что этот ответ очень отложен, он может помочь следующему человеку. Я понимаю этот вопрос следующим образом: фильтр был применен к атрибуту папки, и, хотя папки должным образом фильтруют в представлении, содержимое папки не отображается, когда доступ к конкретной папке.

Это очень просто. Измените представление, разверните группировку папок, и в разделе показать это представление: выберите «В папке верхнего уровня». Это применяет фильтр только к папке верхнего уровня. При выборе папки для доступа к его содержимому фильтр не применяется, тем самым показывая контент внутри.

Позднее на вечеринку, но я думаю, что самый простой ответ - настроить настройку представления с именем «Папки», чтобы «показать все элементы без папок». По умолчанию элементы в папке не показывают, если папка Не соответствует условию фильтра, которое технически в этом случае это не так. Это стандартный пример неинтуитивного Microsoftware.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top