Create list/fileds
Create List
ListCreationInformation creationInfo = new ListCreationInformation(); creationInfo = new ListCreationInformation(); creationInfo.Title = "TestList"; creationInfo.TemplateType = (int)ListTemplateType.GenericList; listTeam = web.Lists.Add(creationInfo); listTeam.Description = "New Description"; listTeam.EnableVersioning = true; listTeam.ContentTypesEnabled = true; listTeam.Update();
Create fields
Field field = null; field = context.CastTo<Field>(listTeam.Fields.GetByTitle("Title")); field.Title = "Subject"; field.Update(); field = listTeam.Fields.AddFieldAsXml("<Field DisplayName=\"F_Body\" Type=\"Note\" RestrictedMode=\"TRUE\" RichText=\"TRUE\" RichTextMode=\"FullHtml\" RowOrdinal=\"0\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" IsolateStyles=\"TRUE\" AppendOnly=\"FALSE\" />", true, AddFieldOptions.DefaultValue); field.Title = "Body"; field.UpdateAndPushChanges(true); field = listTeam.Fields.AddFieldAsXml("<Field DisplayName='F_CreateDate' Type='DateTime' />", true, AddFieldOptions.DefaultValue); FieldDateTime fldTime = context.CastTo<FieldDateTime>(field); fldTime.Update(); field = listTeam.Fields.AddFieldAsXml("<Field DisplayName='Reviewer' Type='User' />", true, AddFieldOptions.DefaultValue); FieldUser fldUser = context.CastTo<FieldUser>(field); fldUser.AllowMultipleValues = true; fldUser.Update(); field = listTeam.Fields.AddFieldAsXml("<Field DisplayName='F_Status' Type='Choice' />", true, AddFieldOptions.DefaultValue); field.Title = "Status"; FieldChoice fldChoice = context.CastTo<FieldChoice>(field); fldChoice.Update(); Field fieldLookup = null; fieldLookup = listTeam.Fields.AddFieldAsXml("<Field DisplayName='Milestones' Type='Lookup' />", true, AddFieldOptions.DefaultValue); FieldLookup fldLookup = context.CastTo<FieldLookup>(fieldLookup); fldLookup.LookupList = listMilestones.Id.ToString(); fldLookup.LookupField = "Title"; fldLookup.Update(); field = listTeam.Fields.AddFieldAsXml("<Field DisplayName=\"Comments\" Type=\"Note\" RestrictedMode=\"TRUE\" RichText=\"TRUE\" RichTextMode=\"FullHtml\" RowOrdinal=\"0\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" Indexed=\"FALSE\" NumLines=\"6\" IsolateStyles=\"TRUE\" AppendOnly=\"TRUE\" />", true, AddFieldOptions.DefaultValue); field.UpdateAndPushChanges(true);