Невозможно создать список на основе пользовательских шаблонов, содержащих пользовательские представления с использованием COM
Я не могу создать список на основе пользовательского шаблона списка из Sharepoint 2013. Список создан правильно, но не содержит представлений, определенных в шаблоне списка.
В моем коде сначала я получаю listTemplate:
ListTemplateCollection ltc = context.Site.GetCustomListTemplates(context.Web);
context.Load(ltc);
context.ExecuteQuery();
ListTemplate listTemplate = ltc.FirstOrDefault(n => n.Name == "name");
Затем создайте объект ListCreationInformation:
ListCreationInformation lc = new ListCreationInformation();
lc.Title = GetNameDocumentLibrary(nombreBibliotecaDocumentos);
lc.TemplateType = listTemplate.ListTemplateTypeKind;
lc.TemplateFeatureId = listTemplate.FeatureId;
lc.QuickLaunchOption = QuickLaunchOptions.DefaultValue;
Затем добавьте список в контекст Sharepoint
List newList = context.Web.Lists.Add(lc);
newList.ContentTypesEnabled = true;
newList.OnQuickLaunch = true;
newList.Update();
context.ExecuteQuery();
И, наконец, я назначаю ContentTypes:
List<ContentType> contentTypeCustom = new List<ContentType>();
foreach (ContentType ct in contentTypeColl)
if (ct.Group == "Tipos de contenido personalizados")
newList.ContentTypes.AddExistingContentType(ct);
newList.Update();
context.ExecuteQuery();
Но когда я показываю конфигурацию моего нового списка, не отображаются представления, определенные в listTemplate.
Я не знаю, как добавить представления из шаблона списка, используя объектную модель клиента
Спасибо за вашу поддержку
1 ответ
Текущий COM не может создавать списки из определенного клиентом шаблона списка. Похоже, что API не может различить базовый шаблон списка и шаблон списка, унаследованный от него, поскольку они используют один и тот же идентификатор функции шаблона.
Я предлагаю вам напрямую создать список из COM.