понедельник, 30 сентября 2013 г.

Фильтрация поля типа lookup в стандартных формах SharePoint

Для фильтрации поля типа выпадающий список в стандартных формах, существует множество решений, spservices, filtered lookup на codeplex. Или фильтрация с помощью JQuery , но есть еще один простой способ.
Нужно в списке из которого берется подстановка сделать вычисляемое поле, используя конструкцию ЕСЛИ, и при невыполнение условия брать пустое значение. В списке где нужно поле подстановки нужно выбрать это поле. Пустые значения не попадут в выпадающий список значений.

=ЕСЛИ([Порядок отображения]<3;[Фамилия Имя]&" ("&Должность&")";"")

2 комментария:

  1. Очень любопытное решение. Спасибо. Жаль только мне фильтрацию нужно использовать в нескольких списках. Придется для каждого списка отдельный столбец создавать... Никак не могу решить, что лучше заюзать - это решение или фильтрованную подстановку с codeplex'а...

    ОтветитьУдалить
  2. Тут 3 решения
    1) Это стандартными средствами, как в статье (- нужно доп поля делать + сохраняется переносимость списка, можно сделать без доступа к серверу)
    2) JS на форме. Можно облегчить задачу с помощью https://spservices.codeplex.com/ (- нужно на каждую форму вставлять JS, + сохраняется переносимость списка, но нужно будет заново JS вставлять, можно сделать без доступа к серверу)
    3)Какое-нибудь кастомное поле поле подстановка ( +может быть удобнее -нужен доступ к серверу, проблемы при переносе списка, обновление до новых версий SP(возможны проблемы))

    Я бы предпочел 1 или 2 вариант если нет особой необходимости в кастомном поле. Вдруг придется переносить решение куда- нибудь.

    ОтветитьУдалить