Forum Discussion
David_Elsner
Nov 26, 2019Copper Contributor
Programatically change the new menu in modern libraries
I am creating a lot of document libraries with code in our enterprise and each library should have different content types. Unfortunately after updating the content types with CSOM, the default Word...
David_Elsner
Nov 26, 2019Copper Contributor
It was quite easy. Figured it out myself:
CSOM with C#:
var list = _sharePointCsomClient._clientContext.Web.Lists.GetByTitle(currentUnit.Name);
var defaultView = list.DefaultView;
_sharePointCsomClient._clientContext.Load(defaultView);
var menu = defaultView.NewDocumentTemplates = "[{\"templateId\":\"NewFolder\",\"title\":\"Folder\",\"visible\":true},{\"templateId\":\"NewDOC\",\"title\":\"Word document\",\"visible\":true},{\"templateId\":\"NewXSL\",\"title\":\"Excel workbook\",\"visible\":true},{\"templateId\":\"NewPPT\",\"title\":\"PowerPoint presentation\",\"visible\":true},{\"templateId\":\"NewONE\",\"title\":\"OneNote notebook\",\"visible\":true},{\"templateId\":\"NewXSLSurvey\",\"title\":\"Excel survey\",\"visible\":true},{\"templateId\":\"NewXSLForm\",\"title\":\"Forms for Excel\",\"visible\":true},{\"templateId\":\"NewVSDX\",\"title\":\"Visio drawing\",\"visible\":true},{\"templateId\":\"Link\",\"title\":\"Link\",\"visible\":true}]";
list.DefaultView.Update();
await _sharePointCsomClient.ExcecuteQueryAsync();