- PVSM.RU - https://www.pvsm.ru -
Что же делать? Ниже под катом ряд полезных параметров адресной строки списков SharePoint, которые могут отчасти спасти ситуацию.
На самом деле вариантов решения задачи несколько:
Данные варианты в контексте постановки не совсем уместны, можно и проще.
И тут подходим к сути данного поста. Перечислению возможностей фильтрации списков штатными средствами за счет параметров адресной строки.
1. Самое очевидное — View — открывает список с представлением, GUID которого передан в параметр.
Пример: /Lists/BigList/AllItems.aspx?View={50AEF4A1-28AD-4114-A074-C72A0FFCA785}
2. FilterField, FilterValue — пара параметров для указания атрибута (внутреннее имя фильтруемого поля) и его точного значения.
Количество пар данных параметров может быть неограниченным, главное, чтобы индекс FilterField совпадал с индексом FilterValue.
Индекс в данном случае — это номер. Например, FilterField1=...FilterValue1=...FilterField7777=...FilterValue7777=…
Если 2 и более разных FilterField примут одно и то же значение, то актуальным будет последний, а предыдущий проигнорируется.
Пример: /Lists/BigList/AllItems.aspx?View={50AEF4A1-28AD-4114-A074-C72A0FFCA785}&FilterField1=Status&FilterValue1=New&FilterField2=Author&FilterValue2=<ФИО инициатора>
3. SortField, SortDir — порядок сортировки. SortField=<Внутреннее имя поля>&SortDir=<Порядок сортировки, Desc/Asc>
Пока что довольно очевидно и легко найти на том же самом technet [1], но мы хотим большего. И большее частично есть.
4. Хотим фильтровать поля не только по жесткому совпадению.
FilterOp — переопределяет сравнение по-умолчанию (точного совпадения — Eq). Идет совместно с FilterField, FilterValue.
Может применять значения сравнения из CAML:
Пример: /Lists/BigList/AllItems.aspx?View={50AEF4A1-28AD-4114-A074-C72A0FFCA785}&FilterField12=NumAccount&FilterValue12=087&FilterOp12=Contains
Ложка дегтя — если нужно отфильтровать по промежутку, например, период с 01.12.2013 по 16.12.2013, то это, увы, не удастся. Т.к. будет задействована фильтрация атрибута с максимальным индексом. Можно конечно тот же самый атрибут даты по 2-м атрибутам, но это уже эстетически совсем не красиво, хотя можно.
5. Хотим сравнивать значение атрибута с множественными вариантами.
FilterName, FilterMultiValue — нам на помощь: FilterName — принимает значение внутреннего наименования поля, FilterMultiValue — получает перечень значений, разделенных ";".
Пример: /Lists/BigList/AllItems.aspx?View={50AEF4A1-28AD-4114-A074-C72A0FFCA785}&FilterName=ID&FilterMultiValue=15460;15459;15458
Правда, фильтровать 2 различных атрибутов по множественным значениям уже опять же не получится. Надо совмещать динамический фильтр и фильтр внутри представления.
Надеюсь, информацию будет полезна. Т.к. о наличии некоторых из параметров с ходу узнать не просто.
Автор: AndrewKoltyakov
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sharepoint/50852
Ссылки в тексте:
[1] technet: http://technet.microsoft.com/en-us/library/cc751316.aspx
[2] Источник: http://habrahabr.ru/post/206230/
Нажмите здесь для печати.