2012-04-16 1 views
0

Я пытаюсь отобразить содержимое определенной папки в SharePoint в форме InfoPath. Вот что моя текущая форма установка сделать:InfoPath Display Содержимое конкретной папки SharePoint

  1. Пользователь выбирает клиент из выпадающего списка, который заполняется из данных списка на SharePoint. Один из столбцов в списке - это URL-адрес определенной папки в Sharepoint, который содержит документы, относящиеся к этому клиенту.

  2. Я бы хотел, чтобы второй раскрывающийся список был заполнен именами файлов в этой конкретной папке на основе URL-адреса, указанного при выборе клиента.

Я не могу понять, как использовать подключение к данным для этого. Есть идеи?

ответ

1

Вы можете сделать это в коде позади формы. Возьмите URL-адрес папки из раскрывающегося списка и передайте его в код. Что-то вроде:

using (SPSite site = new SPSite(SPContext.Current.Site.Url)) 
{ 
    SPWeb web = site.RootWeb; 
    SPFolder folder = web.GetFolder(urloffolder); 
    foreach (SPFile in folder.Files) 
    { 
     //populate drop down with each file 
    } 
} 
+0

Спасибо! Я новичок в коде для InfoPath, поэтому я не на 100% о том, как это реализовать. Не могли бы вы дать мне более подробную информацию о том, где на самом деле поставить код? Я могу выяснить, как заполнить значения в раскрывающемся списке с помощью некоторых поисковых запросов. – Adam

+1

Один из способов - добавить кнопку к вашей форме и подстроить кнопку Button Click к этой кнопке. Если вы щелкните правой кнопкой мыши и перейдите к свойствам, вы увидите что-то о создании события нажатия кнопки. Поместите там код. Вы можете назначить поле в раскрывающемся списке и использовать xpath поля, чтобы определить, какой элемент был выбран в раскрывающемся списке. Надеюсь это поможет. –

+0

ОК. Поэтому я добавил событие, чтобы проверить, изменилось ли значение в определенном поле. Я в коде, и я поставил код, который вы там поставили. Я думаю, мне нужно импортировать «Microsoft.SharePoint», но я не должен устанавливать его? Нужно ли мне что-то скачивать? – Adam