Set List Content Type Columns Order in SharePoint using CSOM

The example in this topic show how to use CSOM to Set List Content Type Columns Order in SharePoint

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  •  
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • // clientcontext.Web.Lists.GetById - This option also can be used to get the list using List GUID
  • // This value is NOT List internal name
  • List targetList = clientContext.Web.Lists.GetByTitle("a b");
  •  
  • clientContext.Load(targetList.ContentTypes);
  • clientContext.ExecuteQuery();
  • ContentTypeCollection contentTypeCollection = targetList.ContentTypes;
  •  
  • // Mention Target Content Tye Name here
  • ContentType contentTypeOrder = (from contentType in contentTypeCollection where contentType.Name == "Event" select contentType).FirstOrDefault();
  •  
  • // Code to set Content type columns order.
  • if (contentTypeOrder != null)
  • {
  • // enter columns name with comma separated(,) in order you want them in List content type
  • string[] columnsTitle = "Category,Description".Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  • List<string> internalColumnNames = new List<string>();
  • Field field = null;
  • clientContext.Load(contentTypeOrder.Fields);
  • clientContext.ExecuteQuery();
  • foreach (string title in columnsTitle)
  • {
  • field = (from fieldObject in contentTypeOrder.Fields
  • where fieldObject.Title == title || fieldObject.InternalName == title
  • select fieldObject).FirstOrDefault();
  • internalColumnNames.Add(field.InternalName);
  • }
  •  
  • contentTypeOrder.FieldLinks.Reorder(internalColumnNames.ToArray());
  •  
  • // UpdateChildren - bool, this value indicates whether the children content type(inheriting from this Content Type) needs to be updated
  • contentTypeOrder.Update(false);
  • targetList.Update();
  • clientContext.ExecuteQuery();
  •  
  • }
  • }

Thank you for reading this article. This code was tested in SharePoint 2013


© 2019 Code SharePoint