public static void CreateSiteColumn(ClientContext clientContext, Web oWeb, SiteColumnProperty listdetauls) { string schema = "<Field DisplayName='" + listdetauls.DisplayName.Trim() + "' Name='" + listdetauls.Name.Trim() + "' Group='" + listdetauls.Group + "' Type='" + listdetauls.Type + "' Format='" + listdetauls.Format + "' List = '" + listdetauls.List + "' ShowField = '" + listdetauls.ShowField + "' WebId = '" + listdetauls.WebId + // NumLines = '" + listdetauls.NumLines + // RichText='" + listdetauls.RichText + // RichTextMode = '" + listdetauls.RichTextMode + // IsolateStyles='" + listdetauls.IsolateStyles + // Sortable='" + listdetauls.Sortable + "'><Default>" + listdetauls.DefaultValue + "</Default>" + listdetauls.ChoicesDetails + "</Field>"; Field field = oWeb.Fields.AddFieldAsXml(schema, true, AddFieldOptions.AddFieldInternalNameHint); field.Required = listdetauls.IsRequired; field.Update(); clientContext.Load(field); clientContext.ExecuteQuery(); Console.WriteLine(listdetauls.Name + ": Created"); }
// Create User Type Site Column private static void CreateSiteColumnForUserType(ClientContext clientContext, Web oWeb, SiteColumnProperty siteColumnProp) { string schemaUserField = "<Field Type='User' Name='" + siteColumnProp.Name + "' StaticName='" + siteColumnProp.Name + "' DisplayName='" + siteColumnProp.Name + "' UserSelectionMode='" + siteColumnProp.UserSelectionMode + "' Group='" + siteColumnProp.Group + "'/>"; Field userField = oWeb.Fields.AddFieldAsXml(schemaUserField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(userField); clientContext.ExecuteQuery(); Console.WriteLine(siteColumnProp.Name + ": Created"); }
//Create LookUp Column private static void CreateSiteColumnForLookUPType(ClientContext clientContext, Web oWeb, SiteColumnProperty siteColumnProp) { // //define the relationship with the lookup field, in that case the field needs to be indexed: // string schemaLookupField = "<Field Type='Lookup' Name='Country' StaticName='Country' DisplayName='Country Name' List = '{B5E2D800F-E739-401F-983F-B40984B70273}' ShowField = 'Title' RelationshipDeleteBehavior = 'Restrict' Indexed = 'TRUE' /> "; //string schemaLookupField = "<Field Type='Lookup' Name='Country' StaticName='Country' DisplayName='Country Name' List = 'Countries' ShowField = 'Title' RelationshipDeleteBehavior = 'Restrict' Indexed = 'TRUE' /> "; string schemaLookupField = "<Field Type='Lookup' DisplayName='" + siteColumnProp.DisplayName.Trim() + "' WebId ='" + siteColumnProp.WebId + "' Name ='" + siteColumnProp.Name + "' StaticName='" + siteColumnProp.Name + "' List = '" + siteColumnProp.List + "' ShowField = '" + siteColumnProp.ShowField + "' Group='" + siteColumnProp.Group + "' /> "; Field lookupField = oWeb.Fields.AddFieldAsXml(schemaLookupField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(lookupField); clientContext.ExecuteQuery(); Console.WriteLine(siteColumnProp.Name + ": Created"); }