У меня есть библиотека документов SharePoint, которая имеет структуру папок, используемую для организации документов (но также и для управления доступом через разрешения для папок).
Документы в библиотеке обновляются каждый месяц, и мы сохраняем версию документа каждого месяца в одной и той же папке; для фильтрации используется столбец «месяц», который будет содержать такие значения, как январь 09, февраль 09 и т. д. Он выглядит следующим образом:
Title Month
----- -----
SubFolder 1
SubFolder 2
[] Interesting Facts Jan 09
[] Interesting Facts Feb 09
[] Interesting Facts Mar 09
[] Fascinating Numbers Jan 09
[] Fascinating Numbers Feb 09
...
Теперь, поскольку пользователи, как правило, больше всего интересуются «текущим» месяцем, я бы хотел, чтобы они могли применить фильтр и выбрать (скажем) 9 марта. Однако, если они делают это, используя встроенный при фильтрации он также отфильтровывает папки, и они больше не могут перемещаться по иерархии папок. Это нехорошо - я хочу, чтобы они могли перемещаться между папками с неповрежденным фильтром, чтобы им не приходилось постоянно выключать и включать его.
Я подумал, что мог бы использовать пользовательское представление (выбирая, где type = folder или month = [month]), и в той степени, в которой это работает. Однако я могу заставить его работать только в течение фиксированного месяца, в то время как мне нужно, чтобы пользователь мог выбрать месяц - возможно, с помощью раскрывающегося элемента управления на странице (а я не хочу создать 60 просмотров за 5 лет, и при этом я не хочу создавать новые представления каждый месяц).
Я думал, что возможно создать представление в коде (а не через пользовательский интерфейс), но я не смог выяснить, как получить динамическое значение (пользовательский параметр) в запросе CAML .
Любые указатели с благодарностью оценены! И, кстати, я знаю о догмате, что папки плохие и что все должно быть просто списком. Однако, рассмотрев альтернативы, я все же предпочитаю использовать папки - если смогу решить эту проблему.
Заранее спасибо.