У меня проблема с программным созданием элемента списка. Сценарий:
2 списка (Changes-CustomDocSet Lib, Risks-Custom Task List) с пользовательскими типами контента и полями
Новая/редактируемая форма списка изменений включает в себя DataGrid, в котором отображаются элементы списка рисков.
Показаны все элементы, которые я создал вручную в списке рисков. Теперь я могу добавлять дополнительные элементы из формы создания/редактирования списка изменений с помощью кнопки «Добавить». Я могу вставить, но элемент не отображается в сетке.
Элементы риска в новой форме списка изменений:
Почему? Если я загляну в свой список рисков, я увижу вставленный элемент, но это не элемент, он отображается как тип папки.
Добавить новый элемент риска:
Это моя реализация для добавления элемента:
SPListItem item = list.Items.Add();
item["ChangeReference"] = "1";
item[SPBuiltInFieldId.Title] = title.Text;
item["Title"] = title.Text;
item["Risk"] = risk.Text;
item["Probability"] = probability.Text;
item.Update();
Определение списка имеет только мой пользовательский тип контента:
<List xmlns:ows="Microsoft SharePoint" Title="Risks" FolderCreation="FALSE" Direction="$Resources:Direction;" EnableContentTypes="TRUE" Url="Lists\Risks" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
<MetaData>
<ContentTypes>
<ContentTypeRef ID="0x0108009007F1B9465C48F2AE80B77CC58A4AA7" />
</ContentTypes>
...
Созданный вручную элемент можно найти в list.Items, программно созданный элемент всегда создается в list.folders, но я не знаю, почему и как это изменить? Мне нужны обычные предметы, а не папки.
Вручную против прог предметов:
Есть идеи?
ОБНОВИТЬ:
Я уже пытаюсь поставить КТ, безуспешно. Теперь я использую стандартный список задач без пользовательского типа контента, но он всегда создавал папку вместо элемента.
При отладке все выглядит нормально: