поиск в Sharepoint, запрос списка SP в рабочем процессе - PullRequest
0 голосов
/ 21 февраля 2011

У меня есть два списка Sharepoint - ListA и ListB.У ListA есть столбцы productName, productType.ProductType сделан из выбора (TypeA, TypeB, TypeC).Каждый товар должен принадлежать только одному типу.Он дает Имя продукта и Тип продукта (из Выборки) при добавлении продуктов в Список А.ListB имеет столбцы RequestName, RequestDate, ProductName.ProductName - это просто поиск в ListA.

В ListB при добавлении нового элемента я сначала хочу выбрать productType, а затем отображать только продукты этого типа.Но я не мог найти способов сделать это.Есть ли способ сделать это, даже программно.

ИЛИ альтернативно, на самом деле мне не нужна информация productType в ListB.Я делаю рабочий процесс, который использует ListB и который запускается автоматически, когда я добавляю запросы в ListB (он выбирает productName и дает RequestName и RequestDate).Затем в рабочем процессе я должен проверить, имеет ли productName тип A, typeB или typeC, поскольку мне нужна информация productType для принятия некоторых решений в Workflow.Есть ли способ получить информацию о productType только из productName, используя ListA и ListB.

Так как это productName уникально, в Sql это будет что-то вроде

select productType from ListA where productName="selectedProduct" 

, но у меня нетУкажите, можно ли выполнить какой-либо запрос в Списках в SP и получить этот результат, сохранить его в переменной и использовать его позже.

Спасибо


Примечание: Для тех, кто заинтересован в каскадных поискахв Sharepoint, используя формы Infopath, смотрите здесь http://blog.libinuko.com/2010/07/21/sharepoint-2010-how-to-create-cascading-lookup-field/

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

Если у вас есть навыки программирования от среднего до продвинутого, вы можете достичь этого, создав собственный тип поля. Основы изложены в этой статье: http://msdn.microsoft.com/en-us/library/gg132914.aspx

Обычно пользовательский тип поля состоит из:

  • XML-файл, определяющий имя поля, свойства и некоторые другие настройки
  • класс, унаследованный от SPField (это фактическое поле)
  • элемент управления полем (это то, что вы видите в новых / редактируемых формах списка элементов)
  • элемент управления редактором поля (это то, что вы видите при создании или изменении поля, где вы устанавливаете свойства поля)
  • значение поля класса

Некоторые из этих компонентов являются необязательными. В вашем случае вы, вероятно, захотите создать поле, наследуемое от SPFieldLookup, и создать пользовательский элемент управления полем и пользовательский элемент управления редактором полей. Нет необходимости в настраиваемом классе значений поля, поскольку вы будете использовать класс SPFieldLookupValue.

Быстрый поиск в Google (или поисковой системе по вашему выбору) может дать вам много подробной информации и учебных пособий об искусстве создания пользовательских типов полей.

0 голосов
/ 21 февраля 2011

Я бы предложил использовать одно из каскадных полей поиска, доступных в качестве сторонних продуктов, например , это (я признаю, это сделано нашей компанией). Затем вы можете отфильтровать столбец с именем вашего продукта по столбцу Тип продукта. Никакой пользовательской разработки не требуется, вам просто нужно внести небольшие изменения в свои списки (например, создать список типов продуктов и посмотреть его, вместо использования столбца выбора)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...