public FieldMultiLineTextInformation(FieldMultiLineText field) : base(field) { AllowHyperlink = field.AllowHyperlink; AppendOnly = field.AppendOnly; NumberOfLines = field.NumberOfLines; RichText = field.RichText; RestrictedMode = field.RestrictedMode; WikiLinking = field.WikiLinking; }
static void CreateWingtipSiteColumns() { Console.WriteLine(); fieldProductCode = CreateSiteColumn("ProductCode", "Product Code", "Text"); fieldProductCode.EnforceUniqueValues = true; fieldProductCode.Indexed = true; fieldProductCode.Required = true; fieldProductCode.Update(); clientContext.ExecuteQuery(); clientContext.Load(fieldProductCode); clientContext.ExecuteQuery(); fieldProductDescription = clientContext.CastTo <FieldMultiLineText>(CreateSiteColumn("ProductDescription", "Product Description", "Note")); fieldProductDescription.NumberOfLines = 4; fieldProductDescription.RichText = false; fieldProductDescription.Update(); clientContext.ExecuteQuery(); fieldProductListPrice = clientContext.CastTo <FieldCurrency>(CreateSiteColumn("ProductListPrice", "List Price", "Currency")); fieldProductListPrice.MinimumValue = 0; fieldProductListPrice.Update(); clientContext.ExecuteQuery(); fieldProductColor = clientContext.CastTo <FieldMultiChoice>(CreateSiteColumn("ProductColor", "Product Color", "MultiChoice")); string[] choicesProductColor = { "White", "Black", "Grey", "Blue", "Red", "Green", "Yellow" }; fieldProductColor.Choices = choicesProductColor; fieldProductColor.Update(); clientContext.ExecuteQuery(); fieldMinimumAge = clientContext.CastTo <FieldNumber>(CreateSiteColumn("MinimumAge", "Minimum Age", "Number")); fieldMinimumAge.MinimumValue = 1; fieldMinimumAge.MaximumValue = 100; fieldMinimumAge.Update(); clientContext.ExecuteQuery(); fieldMaximumAge = clientContext.CastTo <FieldNumber>(CreateSiteColumn("MaximumAge", "Maximum Age", "Number")); fieldMaximumAge.MinimumValue = 1; fieldMaximumAge.MaximumValue = 100; fieldMaximumAge.Update(); clientContext.ExecuteQuery(); fieldProductImageUrl = clientContext.CastTo <FieldUrl>(CreateSiteColumn("ProductImageUrl", "Product Image Url", "URL")); fieldProductImageUrl.DisplayFormat = UrlFieldFormatType.Image; fieldProductImageUrl.Update(); clientContext.ExecuteQuery(); }
//gavdcodeend 08 //gavdcodebegin 09 static void SpCsCsomUpdateOneFieldInList(ClientContext spCtx) { Web myWeb = spCtx.Web; List myList = myWeb.Lists.GetByTitle("NewListCsCsom"); Field myField = myList.Fields.GetByTitle("MyMultilineField"); FieldMultiLineText myFieldNote = spCtx.CastTo <FieldMultiLineText>(myField); myFieldNote.Description = "New Field Description"; myFieldNote.Hidden = false; myFieldNote.NumberOfLines = 3; myField.Update(); spCtx.Load(myField); spCtx.ExecuteQuery(); Console.WriteLine(myField.Description); }
public static void CreateListColumn() { var clientContext = Helper.GetClientContext(); List oList = clientContext.Web.Lists.GetByTitle(listName); //Number DataType Column Field numberField = oList.Fields.AddFieldAsXml("<Field DisplayName='Age' Type='Number' />", true, AddFieldOptions.DefaultValue); FieldNumber fieldNumber = clientContext.CastTo <FieldNumber>(numberField); fieldNumber.MaximumValue = 100; fieldNumber.MinimumValue = 35; fieldNumber.Update(); clientContext.Load(fieldNumber); // //Single Line Of Text DataType Column Field textField = oList.Fields.AddFieldAsXml("<Field DisplayName='SingleLine' Type='Text' />", true, AddFieldOptions.DefaultValue); FieldText fieldText = clientContext.CastTo <FieldText>(textField); fieldText.Update(); clientContext.Load(fieldText); //Multi Line Of Text DataType Column Field multiLineField = oList.Fields.AddFieldAsXml("<Field DisplayName='MultiLine' Type='Note' />", true, AddFieldOptions.DefaultValue); FieldMultiLineText fieldmultiLineText = clientContext.CastTo <FieldMultiLineText>(multiLineField); fieldmultiLineText.Update(); clientContext.Load(fieldmultiLineText); //Multi Line Rich Text DataType Column Field multiLineRichTextField = oList.Fields.AddFieldAsXml("<Field DisplayName='Multi Line RichText' Type='Note' />", true, AddFieldOptions.DefaultValue); FieldMultiLineText fieldmultiLineRichText = clientContext.CastTo <FieldMultiLineText>(multiLineRichTextField); fieldmultiLineRichText.AllowHyperlink = true; fieldmultiLineRichText.RichText = true; fieldmultiLineRichText.Update(); fieldmultiLineRichText.UpdateAndPushChanges(true); clientContext.Load(fieldmultiLineRichText); //An enhanced multi line text field string schemaRichTextField = "<Field Type='Note' Name='EnhancedmultiLine' StaticName='EnhancedmultiLine' DisplayName = 'Enhanced multiLine' NumLines = '6' RichText = 'TRUE' RichTextMode = 'FullHtml' IsolateStyles = 'TRUE' Sortable = 'FALSE' /> "; Field multilineenhancedTextField = oList.Fields.AddFieldAsXml(schemaRichTextField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(multilineenhancedTextField); // DropDown Choice string schemaChoiceFieldDDL = "<Field Type='Choice' DisplayName='ChoiceDDL' Name='ChoiceDDL' StaticName='ChoiceDDL' Format = 'Dropdown' >" + "<Default>Option 2</Default>" + "<CHOICES>" + " <CHOICE>Option 2</CHOICE>" + " <CHOICE>Option 3</CHOICE>" + "</CHOICES>" + "</Field>"; Field choiceDDLField = oList.Fields.AddFieldAsXml(schemaChoiceFieldDDL, true, AddFieldOptions.AddFieldInternalNameHint); FieldChoice fieldChoice = clientContext.CastTo <FieldChoice>(choiceDDLField); fieldChoice.Required = true; fieldChoice.Update(); clientContext.Load(fieldChoice); //Radio buttons string schemaRadioChoiceField = "<Field Type='Choice' Name='ChoiceRadio' StaticName='ChoiceRadio' DisplayName = 'Choice Radio' Format = 'RadioButtons' > " + "<Default>Opt Radio 3</Default>" + "<CHOICES>" + " <CHOICE>Opt Radio 1</CHOICE>" + " <CHOICE>Opt Radio 2</CHOICE>" + " <CHOICE>Opt Radio 3</CHOICE>" + "</CHOICES>" + "</Field>"; Field choiceField = oList.Fields.AddFieldAsXml(schemaRadioChoiceField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(choiceField); //Checkboxes string schemaMultiChoiceField = "<Field Type='MultiChoice' Name='ChoiceMulti' StaticName='ChoiceMulti' DisplayName = 'Choice Multi' > " + "<Default>MultiChoice 2</Default>" + "<CHOICES>" + " <CHOICE>MultiChoice 1</CHOICE>" + " <CHOICE>MultiChoice 2</CHOICE>" + " <CHOICE>MultiChoice 3</CHOICE>" + "</CHOICES>" + "</Field>"; Field choiceMultiChoiceField = oList.Fields.AddFieldAsXml(schemaMultiChoiceField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(choiceMultiChoiceField); //Fill In option string schemaFillInChoiceField = "<Field Type='Choice' DisplayName='Fill In Choice' Name='FillInChoice' StaticName='FillInChoice' Format = 'Dropdown' FillInChoice = 'TRUE' > " + "<Default>My Choices Data will come here</Default>" + "<CHOICES>" + " <CHOICE>FillInChoice 1</CHOICE>" + " <CHOICE>FillInChoice 2</CHOICE>" + " <CHOICE>FillInChoice 3</CHOICE>" + "</CHOICES>" + "</Field>"; Field choiceFillInChoiceField = oList.Fields.AddFieldAsXml(schemaFillInChoiceField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(choiceFillInChoiceField); //Picture field string schemaPictureField = "<Field Type='URL' Name='EmployeePicture' StaticName='EmployeePicture' DisplayName = 'Employee Picture' Format = 'Image' /> "; Field pictureField = oList.Fields.AddFieldAsXml(schemaPictureField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(pictureField); //URL field string schemaUrlField = "<Field Type='URL' Name='BlogUrl' StaticName='BlogUrl' DisplayName='Blog URL' Format='Hyperlink'/>"; Field urlField = oList.Fields.AddFieldAsXml(schemaUrlField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(urlField); clientContext.ExecuteQuery(); // Lookup field List countryList = clientContext.Web.Lists.GetByTitle("Countries"); clientContext.Load(countryList, c => c.Id); clientContext.ExecuteQuery(); // //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' Name='Country' StaticName='Country' DisplayName='Country Name' List = '" + countryList.Id + "' ShowField = 'Title' /> "; Field lookupField = oList.Fields.AddFieldAsXml(schemaLookupField, true, AddFieldOptions.AddFieldInternalNameHint); lookupField.Update(); clientContext.Load(lookupField); //// multi-select lookup field string schemaMultiLookupField = "<Field Type='LookupMulti' Name='Country' StaticName='Country' DisplayName='Country' List = '" + countryList.Id + "' ShowField = 'Title' Mult = 'TRUE' /> "; //string schemaMultiLookupField = "<Field Type='LookupMulti' Name='Country' StaticName='Country' DisplayName='Country' List = 'Countries' ShowField = 'Title' Mult = 'TRUE' /> "; Field lookupFieldmulti = oList.Fields.AddFieldAsXml(schemaMultiLookupField, true, AddFieldOptions.AddFieldInternalNameHint); lookupFieldmulti.Update(); clientContext.Load(lookupFieldmulti); ////Ref: https://karinebosch.wordpress.com/my-articles/creating-fields-using-csom/ // //User Field string schemaUserField = "<Field Type='User' Name='UserName' StaticName='UserName' DisplayName='User Name' />"; Field userField = oList.Fields.AddFieldAsXml(schemaUserField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(userField); ////User Field multiple //string schemaUserGroupField = "<Field Type='UserMulti' Name='EmployeeName' StaticName='EmployeeName' DisplayName='Employee Name' UserSelectionMode = 'PeopleOnly' UserSelectionScope = '7' Mult = 'TRUE' /> "; string schemaUserGroupField = "<Field Type='UserMulti' Name='EmployeeName' StaticName='EmployeeName' DisplayName='Employee Name' UserSelectionMode = 'PeopleAndGroups' UserSelectionScope = '7' Mult = 'TRUE' /> "; Field userGroupField = oList.Fields.AddFieldAsXml(schemaUserGroupField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(userGroupField); ////boolean field string schemaBooleanField = "<Field Type='Boolean' Name='Married' StaticName='Married' DisplayName='Married'> <Default>1</Default> </Field>"; Field booleanField = oList.Fields.AddFieldAsXml(schemaBooleanField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(booleanField); ////DateTime Field //Date only field string schemaBirthDate = "<Field Type='DateTime' Name='BirthDate' StaticName='BirthDate' DisplayName = 'Birth date' Format = 'DateOnly'> <Default>[Today]</Default></Field>"; Field birthDateField = oList.Fields.AddFieldAsXml(schemaBirthDate, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(birthDateField); ////Date and time field string schemaArrivalField = "<Field Type='DateTime' Name='ArrivalDateTime' StaticName='ArrivalDateTime' DisplayName = 'Arrival' Format = 'DateTime'> <Default>[Now]</Default></Field>"; Field DateTimeField = oList.Fields.AddFieldAsXml(schemaArrivalField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(DateTimeField); ////hidden field string schemaHiddenTextField = "<Field Type='Text' Name='HiddenField' StaticName='HiddenField' DisplayName='Hidden Field' Hidden='TRUE' />"; Field hiddenTextField = oList.Fields.AddFieldAsXml(schemaHiddenTextField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(hiddenTextField); //indexed field // Not Working as of now //Field f = oList.Fields.GetByInternalNameOrTitle("ID"); //clientContext.Load(f); //clientContext.ExecuteQuery(); //f.Indexed = true; //f.Update(); //Managed Metadata field Guid termStoreId = Guid.Empty; Guid termSetId = Guid.Empty; GetTaxonomyFieldInfo(clientContext, out termStoreId, out termSetId); // Single selection Taxonomy field string schemaTaxonomyField = "<Field Type='TaxonomyFieldType' Name='TaxonomyField' StaticName='TaxonomyField' DisplayName = 'Taxonomy Field' /> "; Field taxonomyFieldSingle = oList.Fields.AddFieldAsXml(schemaTaxonomyField, true, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(taxonomyFieldSingle); // Retrieve the field as a Taxonomy Field TaxonomyField taxonomyField = clientContext.CastTo <TaxonomyField>(taxonomyFieldSingle); taxonomyField.SspId = termStoreId; taxonomyField.TermSetId = termSetId; taxonomyField.TargetTemplate = String.Empty; taxonomyField.AnchorId = Guid.Empty; taxonomyField.Update(); // Multi selection Taxonomy field string schemaTaxonomyFieldMulti = "<Field Type='TaxonomyFieldTypeMulti' Name='TaxonomyFieldMulti' StaticName='TaxonomyFieldMulti' DisplayName = 'Taxonomy Field Multi' Mult = 'TRUE' /> "; Field taxonomyFieldMulti = oList.Fields.AddFieldAsXml(schemaTaxonomyFieldMulti, false, AddFieldOptions.AddFieldInternalNameHint); clientContext.Load(taxonomyFieldMulti); // Retrieve the field as a Taxonomy Field TaxonomyField taxonomyField1 = clientContext.CastTo <TaxonomyField>(taxonomyFieldMulti); taxonomyField1.SspId = termStoreId; taxonomyField1.TermSetId = termSetId; taxonomyField1.TargetTemplate = String.Empty; taxonomyField1.AnchorId = Guid.Empty; taxonomyField1.Update(); clientContext.ExecuteQuery(); //Calculated field // Not Working //string formula = "<Formula>=Age&\"\"&SingleLine&\"(id:\"&ID&\"\"</Formula>" // + "<FieldRefs>" // + "<FieldRef Name='Age' />" // + "<FieldRef Name='SingleLine' />" // + "<FieldRef Name='ID' />" // + "</FieldRefs>"; //string schemaCalculatedField = "<Field Type='Calculated' Name='CalculatedField' StaticName='CalculatedField' DisplayName = 'Calculated Field' ResultType = 'Text' Required = 'TRUE' ReadOnly = 'TRUE' > " + formula + " </ Field > "; //Field fullNameField = oList.Fields.AddFieldAsXml(schemaCalculatedField, true, AddFieldOptions.AddFieldInternalNameHint); //clientContext.ExecuteQuery(); string fieldXml = "<Field Name='CalculatedField_Year' StaticName='CalculatedField_Year' DisplayName='CalculatedField Year' Type='Text' ReadOnly = 'TRUE'>" + "<DefaultFormula>=CONCATENATE(YEAR(Today))</DefaultFormula>" + "</Field>"; Field field = oList.Fields.AddFieldAsXml(fieldXml, true, AddFieldOptions.DefaultValue); clientContext.ExecuteQuery(); }
static void CreateWingtipSiteColumns() { Console.WriteLine(); fieldProductCode = CreateSiteColumn("ProductCode", "Product Code", "Text"); fieldProductCode.EnforceUniqueValues = true; fieldProductCode.Indexed = true; fieldProductCode.Required = true; fieldProductCode.Update(); clientContext.ExecuteQuery(); clientContext.Load(fieldProductCode); clientContext.ExecuteQuery(); fieldProductDescription = clientContext.CastTo<FieldMultiLineText>(CreateSiteColumn("ProductDescription", "Product Description", "Note")); fieldProductDescription.NumberOfLines = 4; fieldProductDescription.RichText = false; fieldProductDescription.Update(); clientContext.ExecuteQuery(); fieldProductListPrice = clientContext.CastTo<FieldCurrency>(CreateSiteColumn("ProductListPrice", "Product List Price", "Currency")); fieldProductListPrice.MinimumValue = 0; fieldProductListPrice.Update(); clientContext.ExecuteQuery(); fieldProductColor = clientContext.CastTo<FieldMultiChoice>(CreateSiteColumn("ProductColor", "Product Color", "MultiChoice")); string[] choicesProductColor = { "White", "Black", "Grey", "Blue", "Red", "Green", "Yellow" }; fieldProductColor.Choices = choicesProductColor; fieldProductColor.Update(); clientContext.ExecuteQuery(); fieldMinimumAge = clientContext.CastTo<FieldNumber>(CreateSiteColumn("MinimumAge", "Minimum Age", "Number")); fieldMinimumAge.MinimumValue = 1; fieldMinimumAge.MaximumValue = 100; fieldMinimumAge.Update(); clientContext.ExecuteQuery(); fieldMaximumAge = clientContext.CastTo<FieldNumber>(CreateSiteColumn("MaximumAge", "Maximum Age", "Number")); fieldMaximumAge.MinimumValue = 1; fieldMaximumAge.MaximumValue = 100; fieldMaximumAge.Update(); clientContext.ExecuteQuery(); }
static void CreateWingtipSiteColumns() { Console.WriteLine(); fieldProductCode = CreateSiteColumn("ProductCode", "Product Code", "Text"); fieldProductCode.EnforceUniqueValues = true; fieldProductCode.Indexed = true; fieldProductCode.Required = true; fieldProductCode.Update(); clientContext.ExecuteQuery(); clientContext.Load(fieldProductCode); clientContext.ExecuteQuery(); fieldProductDescription = clientContext.CastTo<FieldMultiLineText>(CreateSiteColumn("ProductDescription", "Product Description", "Note")); fieldProductDescription.NumberOfLines = 4; fieldProductDescription.RichText = false; fieldProductDescription.Update(); clientContext.ExecuteQuery(); fieldProductListPrice = clientContext.CastTo<FieldCurrency>(CreateSiteColumn("ProductListPrice", "List Price", "Currency")); fieldProductListPrice.MinimumValue = 0; fieldProductListPrice.Update(); clientContext.ExecuteQuery(); fieldProductCategory = clientContext.CastTo<TaxonomyField>(CreateSiteColumn("ProductCategory", "Product Category", "TaxonomyFieldType")); fieldProductCategory.SspId = localTermStoreID; fieldProductCategory.TermSetId = termSetId; fieldProductCategory.AllowMultipleValues = false; fieldProductCategory.Update(); clientContext.ExecuteQuery(); fieldProductColor = clientContext.CastTo<FieldMultiChoice>(CreateSiteColumn("ProductColor", "Product Color", "MultiChoice")); string[] choicesProductColor = { "White", "Black", "Grey", "Blue", "Red", "Green", "Yellow" }; fieldProductColor.Choices = choicesProductColor; fieldProductColor.Update(); clientContext.ExecuteQuery(); fieldMinimumAge = clientContext.CastTo<FieldNumber>(CreateSiteColumn("MinimumAge", "Minimum Age", "Number")); fieldMinimumAge.MinimumValue = 1; fieldMinimumAge.MaximumValue = 100; fieldMinimumAge.Update(); clientContext.ExecuteQuery(); fieldMaximumAge = clientContext.CastTo<FieldNumber>(CreateSiteColumn("MaximumAge", "Maximum Age", "Number")); fieldMaximumAge.MinimumValue = 1; fieldMaximumAge.MaximumValue = 100; fieldMaximumAge.Update(); clientContext.ExecuteQuery(); fieldProductImageUrl = clientContext.CastTo<FieldUrl>(CreateSiteColumn("ProductImageUrl", "Product Image Url", "URL")); fieldProductImageUrl.DisplayFormat = UrlFieldFormatType.Image; fieldProductImageUrl.Update(); clientContext.ExecuteQuery(); }
public static void CreateBookCT(ClientContext ctx) { string bookCT = "0x01000E870749A9444905BB8A362E475B0798"; Web web = ctx.Site.RootWeb; //web.GetListByTitle("Books2").DeleteObject(); //ctx.ExecuteQuery(); //web.DeleteContentTypeById(bookCT); if (!web.ContentTypeExistsById(bookCT)) { web.CreateContentType("David Books", bookCT, "Davids ContentType"); } string bookTypeFieldId = "{DBB24705-0DEA-4C4F-8C2A-95CB6F0DE25E}"; if (!web.FieldExistsById(new Guid(bookTypeFieldId))) { FieldCreationInformation info = new FieldCreationInformation(FieldType.Choice); info.Id = bookTypeFieldId.ToGuid(); info.InternalName = "DAV_BookType"; info.DisplayName = "Book Type"; info.Group = "Tims Columns"; FieldChoice field = web.CreateField <FieldChoice>(info); field.Choices = new string[] { "Romance", "Drama", "Horror", "Thriller" }; field.Update(); ctx.ExecuteQuery(); } string authorFieldId = "{D6996667-0BEA-4C9F-9904-DEB21CC5AA84}"; if (!web.FieldExistsById(new Guid(authorFieldId))) { FieldCreationInformation info = new FieldCreationInformation(FieldType.Text); info.Id = authorFieldId.ToGuid(); info.InternalName = "DAV_Author"; info.DisplayName = "Author"; info.Group = "Tims Columns"; Field field = web.CreateField(info); } string releaseDateFieldId = "{84716863-06CA-4D31-BAA0-7D099FC501E7}"; if (!web.FieldExistsById(new Guid(releaseDateFieldId))) { FieldCreationInformation info = new FieldCreationInformation(FieldType.DateTime); info.Id = releaseDateFieldId.ToGuid(); info.InternalName = "DAV_Realesedate"; info.DisplayName = "ReleaseDate"; info.Group = "Tims Columns"; FieldDateTime field = web.CreateField <FieldDateTime>(info); field.DisplayFormat = DateTimeFieldFormatType.DateOnly; field.Update(); ctx.ExecuteQuery(); } string descriptionDateFieldId = "{4BD3F599-4D5C-412D-8431-6ECD36AEB015}"; // web.RemoveFieldById(descriptionDateFieldId); if (!web.FieldExistsById(new Guid(descriptionDateFieldId))) { FieldCreationInformation info = new FieldCreationInformation(FieldType.Note); info.Id = descriptionDateFieldId.ToGuid(); info.InternalName = "DAV_description"; info.DisplayName = "Description"; info.Group = "Tims Columns"; info.Required = true; FieldMultiLineText field = web.CreateField <FieldMultiLineText>(info); field.RichText = true; field.NumberOfLines = 10; field.AllowHyperlink = true; field.Update(); ctx.ExecuteQuery(); } web.AddFieldToContentTypeById(bookCT, bookTypeFieldId); web.AddFieldToContentTypeById(bookCT, authorFieldId); web.AddFieldToContentTypeById(bookCT, releaseDateFieldId); web.AddFieldToContentTypeById(bookCT, descriptionDateFieldId, true); if (!web.ListExists("Books2")) { List list = web.CreateList(ListTemplateType.GenericList, "Books2", false, urlPath: "lists/books2", enableContentTypes: true); list.AddContentTypeToListById(bookCT, true); View listView = list.DefaultView; listView.ViewFields.Add("DAV_BookType"); listView.ViewFields.Add("DAV_Author"); listView.ViewFields.Add("DAV_Realesedate"); listView.ViewFields.Add("DAV_description"); listView.Update(); ctx.ExecuteQueryRetry(); } List bookList = web.GetListByTitle("Books2"); ListItem item = bookList.AddItem(new ListItemCreationInformation()); item["Title"] = "MistBorn"; item["DAV_BookType"] = "Fantasy"; item["DAV_Author"] = "Brandon Sanderson"; item["DAV_Realesedate"] = DateTime.Parse("2001-02-12"); item["DAV_description"] = "This is a decription \n\n is this a new line?"; item.Update(); ctx.ExecuteQuery(); //ListItemCollection items = bookList.GetItems(CamlQuery.CreateAllItemsQuery()); //ctx.Load(items); //ctx.ExecuteQuery(); }
/// <summary> /// Lanza el proceso de creación de nuevas columnas /// </summary> /// <returns></returns> public bool CreateColumns() { bool result = true; List list = null; bool continueProcess = true; if (ConectionSiteOK) { if (SPFields.Count > 0) { foreach (SPFields infoField in SPFields) { continueProcess = true; try { list = site.Web.Lists.GetByTitle(infoField.ListName); } catch (Exception ex) { SHPExecOperationsErrors.Add(GetInfoError(ex, string.Format("Alta de nuevo campo {0}", infoField.ColumnName), TypeError.Error)); continueProcess = false; } if (continueProcess) { //Configuramos... switch (infoField.Column) { case TypeColumn.LineOfText: //Linea de texto Field newField1 = list.Fields.AddFieldAsXml(string.Format(schemaXML, infoField.Type, infoField.ColumnName), true, AddFieldOptions.AddToDefaultContentType); newField1.StaticName = infoField.ColumnName; newField1.Description = infoField.Description; if (infoField.FieldText != null) { FieldText fldText = site.CastTo <FieldText>(newField1); fldText.Required = infoField.FieldText.ContainInformation; fldText.EnforceUniqueValues = infoField.FieldText.UniqueValues; fldText.MaxLength = infoField.FieldText.MaxLength; fldText.DefaultValue = infoField.FieldText.DefaultValue; if (infoField.FieldText.UniqueValues) { fldText.Indexed = true; } fldText.Update(); } else { continueProcess = false; } break; case TypeColumn.Multiline: //Varias líneas de texto Field newField2 = list.Fields.AddFieldAsXml(string.Format(schemaXML, infoField.Type, infoField.ColumnName), true, AddFieldOptions.AddToDefaultContentType); newField2.StaticName = infoField.ColumnName; newField2.Description = infoField.Description; if (infoField.FieldMultiText != null) { FieldMultiLineText fldMultiLine = site.CastTo <FieldMultiLineText>(newField2); fldMultiLine.Required = infoField.FieldMultiText.ContainInformation; fldMultiLine.NumberOfLines = infoField.FieldMultiText.NumLines; fldMultiLine.RichText = infoField.FieldMultiText.RichText; fldMultiLine.Update(); } else { continueProcess = false; } break; case TypeColumn.Choice: //Eleccion Field newField3 = list.Fields.AddFieldAsXml(string.Format(schemaXML, infoField.Type, infoField.ColumnName), true, AddFieldOptions.AddToDefaultContentType); newField3.StaticName = infoField.ColumnName; newField3.Description = infoField.Description; if (infoField.FieldChoice != null) { FieldMultiChoice fldChoice = site.CastTo <FieldMultiChoice>(newField3); fldChoice.Required = infoField.FieldChoice.ContainInformation; fldChoice.EnforceUniqueValues = infoField.FieldChoice.UniqueValues; fldChoice.DefaultValue = infoField.FieldChoice.DefaultValue; if (infoField.FieldChoice.UniqueValues) { fldChoice.Indexed = true; } fldChoice.Choices = infoField.FieldChoice.Options; fldChoice.Update(); } else { continueProcess = false; } break; case TypeColumn.Number: //Numero Field newField4 = list.Fields.AddFieldAsXml(string.Format(schemaXML, infoField.Type, infoField.ColumnName), true, AddFieldOptions.AddToDefaultContentType); newField4.StaticName = infoField.ColumnName; newField4.Description = infoField.Description; if (infoField.FieldNumber != null) { FieldNumber fldNumber = site.CastTo <FieldNumber>(newField4); fldNumber.ShowAsPercentage = infoField.FieldNumber.ShowAsPercentaje; if (infoField.FieldNumber.MinValue != 0) { fldNumber.MinimumValue = infoField.FieldNumber.MinValue; } if (infoField.FieldNumber.MaxValue != 0) { fldNumber.MaximumValue = infoField.FieldNumber.MaxValue; } fldNumber.Update(); } else { continueProcess = false; } break; case TypeColumn.Lookup: if (infoField.FieldLookup != null) { string required = "FALSE"; if (infoField.FieldLookup.ContainInformation) { required = "TRUE"; } try { List sourceList = site.Web.Lists.GetByTitle(infoField.FieldLookup.LookupList); site.Load(sourceList); List destinationList = site.Web.Lists.GetByTitle(infoField.ListName); site.Load(destinationList); site.ExecuteQuery(); Field LookUpField = destinationList.Fields.AddFieldAsXml(string.Format(schemaXMLLookUp, infoField.Type, infoField.ColumnName, required, sourceList.Id, infoField.FieldLookup.LookupField), true, AddFieldOptions.DefaultValue); LookUpField.Description = infoField.Description; LookUpField.Update(); } catch (Exception ex) { SHPExecOperationsErrors.Add(GetInfoError(ex, string.Format("Alta de nuevo campo {0}", infoField.ColumnName), TypeError.Error)); continueProcess = false; } } else { continueProcess = false; } break; case TypeColumn.UsersAndGroups: Field newField5 = list.Fields.AddFieldAsXml(string.Format(schemaXML, infoField.Type, infoField.ColumnName), true, AddFieldOptions.AddToDefaultContentType); newField5.StaticName = infoField.ColumnName; newField5.Description = infoField.Description; if (infoField.FieldUserGroup != null) { FieldUser fldUser = site.CastTo <FieldUser>(newField5); fldUser.Required = infoField.FieldUserGroup.ContainInformation; switch (infoField.FieldUserGroup.UserSelectionMode) { case TypeUserSelectionMode.PeopleOnly: fldUser.SelectionMode = FieldUserSelectionMode.PeopleOnly; break; case TypeUserSelectionMode.PeopleAndGroups: fldUser.SelectionMode = FieldUserSelectionMode.PeopleAndGroups; break; } if (infoField.FieldUserGroup.MultiUser) { fldUser.AllowMultipleValues = true; } if (!string.IsNullOrEmpty(infoField.FieldUserGroup.UsersFromGroup)) { Group group = site.Web.SiteGroups.GetByName(infoField.FieldUserGroup.UsersFromGroup); try { site.Load(group); site.ExecuteQuery(); } catch (Exception ex) { SHPExecOperationsErrors.Add(GetInfoError(ex, string.Format("Alta de nuevo campo {0}", infoField.ColumnName), TypeError.Warning)); group = null; } if (group != null) { fldUser.SelectionGroup = group.Id; } } fldUser.Update(); } else { continueProcess = false; } break; } //Añadimos... if (continueProcess) { try { site.ExecuteQuery(); } catch (Exception ex) { SHPExecOperationsErrors.Add(GetInfoError(ex, string.Format("Alta de nuevo campo {0}", infoField.ColumnName), TypeError.Error)); } } } list = null; } } else { SHPExecOperationsErrors.Add(GetInfoError("Creación de columnas (CreateColumns)", "No se han indicado campos a crear", "", TypeError.Warning)); result = false; } } else { SHPExecOperationsErrors.Add(GetInfoError("Creación de columnas (CreateColumns)", "No se ha establecido conexión con el site", "", TypeError.Warning)); result = false; } SPFields.Clear(); return(result); }