none
Запись в поле RelatedItems RRS feed

  • Вопрос

  • Добрый день, Коллеги! Имеется задача с привязыванием задачи (не рабочий процесс) к элементу списка (логика такая, что мы создаем элемент и к этому элементу привязываем несколько задач). Я думаю реализовать это через поле RelatedItem в самом элементе списка задач. Только проблема в том, что запись типа taskItem[SpBuiltinField.RelatedItem] = listItem не работает. Подскажите, пожалуйста, как правильно связать эти 2 элемента из разных списков. Заранее благодарен!
    9 августа 2016 г. 14:19

Ответы

  • Добрый день!

    В этом поле хранится JSON массив объектов со свойствами "ItemId", "WebId" и "ListId". "WebId" и "ListId" принимают GUID Web'а и списка соответственно, а "ItemId" принимает ИД элемента.

    Чтобы изменить значение поля, достаточно передать JSON строку, например так:

    var strFormat = "[{\"ItemId\":{0}, \"WebId\":\"{1}\", \"ListId\":\"{2}\"}]";
    var jsonString = string.Format(strFormat, listItem.ID.ToString(), listItem.Web.ID.ToString(), listItem.ParentList.ID.ToString());
    listItem[FieldName] = jsonString;
    listItem.Update();

    10 августа 2016 г. 10:41

Все ответы

  • Добрый день!

    В этом поле хранится JSON массив объектов со свойствами "ItemId", "WebId" и "ListId". "WebId" и "ListId" принимают GUID Web'а и списка соответственно, а "ItemId" принимает ИД элемента.

    Чтобы изменить значение поля, достаточно передать JSON строку, например так:

    var strFormat = "[{\"ItemId\":{0}, \"WebId\":\"{1}\", \"ListId\":\"{2}\"}]";
    var jsonString = string.Format(strFormat, listItem.ID.ToString(), listItem.Web.ID.ToString(), listItem.ParentList.ID.ToString());
    listItem[FieldName] = jsonString;
    listItem.Update();

    10 августа 2016 г. 10:41
  • Отлично! Спасибо большое!
    11 августа 2016 г. 8:24