InfoPath Получение информации о группе SharePoint

У меня есть форма InfoPath, встроенная в страницу aspx на сайте SharePoint. Как связать группы пользователей SharePoint с раскрывающимся списком в моей форме? До сих пор я пытался создать соединение данных с веб-службой (метод GetGroupCollectionFromWeb) для извлечения данных. Затем я открываю свойства списка, выбираю "Поиск значений из внешнего источника данных", выбираю источник данных, назначаю записи и получаю следующую ошибку:

"Вы должны выбрать повторяющуюся группу или поле".

Чего я не понимаю, так это того, что метод, который я вызываю, называется GetGroupCollectionFromWeb, не является ли возвращаемое значение коллекцией? И разве коллекции не повторяются по определению? Чего мне не хватает, и есть ли обходной путь? Спасибо.

1 ответ

В вашей конкретной проблеме я не слишком уверен, потому что я никогда не использую подключения к данным внутри Infopath.

Однако способ, которым я делал это раньше, с помощью кода в форме. Поскольку форма загружается изнутри страницы ASPX SharePoint, тогда доступен SPContext. Я могу использовать это, чтобы добраться до моего списка поиска, в вашем случае группы. Я бы использовал объектную модель, чтобы вытащить эту коллекцию групп. Я бы перебрал коллекцию, добавив каждый элемент в новый узел в повторяющейся группе в основном источнике данных. Я бы установил выпадающий элемент управления, чтобы получить его значения из этой повторяющейся группы.

Если бы я рискнул догадаться о проблеме, с которой вы столкнулись, было бы то, что XML-код, возвращаемый веб-службой, был недостаточно отформатирован для использования Infopath. В этом случае вы можете сохранить подключение к данным для извлечения данных, но затем вам придется написать некоторый код для преобразования того, с чем возвращается подключение к данным, в формат, понятный элементу управления в основном источнике данных.

Другие вопросы по тегам