2010-10-04 2 views
1

Я хотел бы знать, как я могу фильтровать список библиотек SharePoint на основе текущего имени пользователя.Как я могу отфильтровать список libarry для Sharepoint 2007 на основе текущего входа пользователя?

Предположим, я создал следующие файлы: 1) Библиотека форм SharePoint, содержащая кучу загруженных данных формы InfoPath. 2) Шаблон формы InfoPath содержит рекламное текстовое поле под названием «TargetUser» для хранения имени пользователя домена (например: DOMAIN \ JOE), и каждый файл формы InfoPath в библиотеке имеет действительное доменное имя, хранящееся в поле «TargetUser».

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

Я перешел на страницу редактирования вида, чтобы настроить представление и попытался использовать функцию [Me], но при нажатии кнопки «ОК» я получил сообщение «Значение фильтра не является допустимой текстовой строкой». По-видимому, [Me] возвращает тип данных Person/Group, и фильтр не может сравнить его значение с значением «TargetUser».

Я попытался использовать другие текстовые функции (например: TEXT ([Me], ""), надеясь извлечь стандартное строковое значение из [Me]. Фильтр принял параметр без какой-либо ошибки, но полученный в результате список элементы на всех.

Я гугл на эту тему, но я не нашел ни одного решения.

было бы весьма признателен, если кто-то может помочь мне создать функциональный отфильтрованный список. И FYI, мои установки SharePoint 2007 это просто WSS 3.0 + Form Server. У меня нет MOSS 2007 (так что никаких веб-частей или веб-сервисов MOSS 2007).

Спасибо.

Джейсон

ответ

1

Есть ли какая-либо причина вашего поле TargetUser является текстовым поле вместо поля или групп людей? Идентификатор [Me] может использоваться для фильтрации элементов списка на основе столбца «Люди» или «Группа», но не в текстовых полях.

+0

Я понимаю, что [Me] будет работать с типом People/Group, но когда был разработан tempate формы Infopath, пользовательский логин был сохранен в текстовом поле. Поскольку формы используются уже более двух лет, слишком поздно возвращаться и изменять шаблон. –

+0

FYI, мой сайт в настоящее время использует веб-часть DataView для отображения и фильтрации списка библиотеки форм. В веб-части DataView мы можем использовать в фильтре серверную переменную «LOGON_USER» (строковое значение). Полагаю, именно по этой причине шаблон формы был первоначально разработан для хранения логина пользователя в текстовом поле. Но теперь мы хотели бы использовать веб-часть ListView вместо этого, потому что она имеет лучшую производительность при отображении большого количества элементов, а также позволяет пользователям упростить сортировку и mutiple-фильтры. Веб-часть DataView позволяет только фильтровать пользователя, и это неловко использовать. –

1

Хорошо. Похоже, никто здесь не имеет ответа. Тем не менее, другой пользователь на форуме Technet имеет очень хорошее решение. Дополнительную информацию можно получить здесь link

Смежные вопросы