Sharepoint 2010 add columns to list programmatically
using System;
using Microsoft.SharePoint.Client;
class Program
{
static void Main()
{
ClientContext clientContext =
new ClientContext("http://intranet.contoso.com");
Web site = clientContext.Web;
// Create a list.
ListCreationInformation listCreationInfo =
new ListCreationInformation();
listCreationInfo.Title = "Client API Test List";
listCreationInfo.TemplateType = (int)ListTemplateType.GenericList;
List list = site.Lists.Add(listCreationInfo);
// Add fields to the list.
Field field1 = list.Fields.AddFieldAsXml(
@"<Field Type='Choice'
DisplayName='Category'
Format='Dropdown'>
<Default>Specification</Default>
<CHOICES>
<CHOICE>Specification</CHOICE>
<CHOICE>Development</CHOICE>
<CHOICE>Test</CHOICE>
<CHOICE>Documentation</CHOICE>
</CHOICES>
</Field>",
true, AddFieldOptions.DefaultValue);
Field field2 = list.Fields.AddFieldAsXml(
@"<Field Type='Number'
DisplayName='Estimate'/>",
true, AddFieldOptions.DefaultValue);
// Add some data.
ListItemCreationInformation itemCreateInfo =
new ListItemCreationInformation();
ListItem listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = "Write specs for user interface.";
listItem["Category"] = "Specification";
listItem["Estimate"] = "20";
listItem.Update();
listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = "Develop proof-of-concept.";
listItem["Category"] = "Development";
listItem["Estimate"] = "42";
listItem.Update();
listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = "Write test plan for user interface.";
listItem["Category"] = "Test";
listItem["Estimate"] = "16";
listItem.Update();
listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = "Validate SharePoint interaction.";
listItem["Category"] = "Test";
listItem["Estimate"] = "18";
listItem.Update();
listItem = list.AddItem(itemCreateInfo);
listItem["Title"] = "Develop user interface.";
listItem["Category"] = "Development";
listItem["Estimate"] = "18";
listItem.Update();
clientContext.ExecuteQuery();
}
}
----------------------------------------------------------------
Or use below code
----------------------------------------------------------------
SPSite objSite;
SPWeb objWeb;
bool isTemplateExists = false;
string strList = “ListName”;
objSite = new SPSite(@”SiteUrl”);
objWeb = objSite.OpenWeb();
//check Whether list already exist or not.
if (IsListExists(objWeb, strList) == false)
{
CreateNewList(strList);
}
public bool IsListExists(SPWeb pWeb, string pListName)
{
try
{
SPList list = pWeb.Lists[pListName];
if (list == null)
return false;
else
return true;
}
catch (Exception ex)
{
return false;
}
}
public void CreateNewList(string pListName)
{
try
{
objWeb.AllowUnsafeUpdates = true;
SPListCollection lists = objWeb.Lists;
// create new Generic list called ListName
lists.Add(“ListName”, “List Description”, SPListTemplateType.GenericList);
SPList list = objWeb.Lists["ListName"];
// create Text type new column called “Title”
SPFieldText fldTitle = (SPFieldText)list.Fields.CreateNewField(
SPFieldType.Text.ToString(), ” Title “);
fldTitle.Required = false;
// create DateTime type new column called “DateTime”
SPFieldDateTime fldDateTime = (SPFieldDateTime)list.Fields.CreateNewField(
SPFieldType.DateTime.ToString(), “DateTime”);
fldDateTime.DisplayFormat = SPDateTimeFieldFormatType.DateTime;
/* add the new fields to the list */
list.Fields.Add(fldTitle);
list.Fields.Add(fldDateTime);
/* finally update list */
list.Update();
/*add the new fields to view */
SPView view = list.DefaultView;
view.ViewFields.Add(“Title”);
view.ViewFields.Add(“DateTime”);
view.Update();
objWeb.AllowUnsafeUpdates = false;
}
catch (Exception ex)
{
}
}