Pages

Wednesday, December 26, 2012

Create a Sharepoint list programmatically in c#



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;


namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       {
           {
               // choose your site
               SPSite site = new SPSite("http://a3599m1d/");
               SPWeb web = site.OpenWeb();
               SPListCollection lists = web.Lists;
              // create new Generic list called "My List" 
              lists.Add("Project List", "Project list escription",                     SPListTemplateType.GenericList);

               SPList newList = web.Lists["Project List"];
             // create Text type new column called "My Column"
              newList.Fields.Add("Project Name", SPFieldType.Text, true);
              newList.Fields.Add("Project Mode", SPFieldType.Text, true);
              newList.Fields.Add("Project Type", SPFieldType.Text, true);
   
              SPView view = newList.DefaultView;
              view.ViewFields.Add("Project Name");
              view.ViewFields.Add("Project Mode");
              view.ViewFields.Add("Project Type");
              view.Update();

              Console.Write("List created successfully");
              Console.Read();
           }

       }
   }
}

Results:
SharePoint List:






public void createList()
{
   
// choose your site
    SPSite site =
new SPSite("http://a3599m1d:111/");
    SPWeb web = site.OpenWeb();
    SPListCollection lists = web.Lists;
    // create new Generic list called "My List"
    lists.Add("My List", "My list Description", SPListTemplateType.GenericList);

    SPList newList = web.Lists["My List"];
    // create Text type new column called "My Column"
    newList.Fields.Add(
"My Column", SPFieldType.Text, true);
    /*create lookup type new column called "Lookup Column"
    * Here I am going to get the information from the "Title"
    * column of a list called "User Roles"
    */

    SPList targetList = web.Lists[
"User Roles"];
    newList.Fields.AddLookup("Lookup Column", targetList.ID, false);
    SPFieldLookup lkp = (SPFieldLookup)newList.Fields[
"Lookup Column"];
    lkp.LookupField = targetList.Fields[
"Title"].InternalName;
    lkp.Update();
    // make new column visible in default view
    SPView view = newList.DefaultView;
    view.ViewFields.Add(
"My Column");
    view.ViewFields.Add(
"Lookup Column");
    view.Update();
}






Creating Document Library Using Visual Studio 2010



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;


namespace creatingDocumentLibrary
{
   class Program
   {
       static void Main(string[] args)
       {

           using (SPSite site = new SPSite("http://a3599m1d/"))
           {

               using (SPWeb web = site.OpenWeb())
               {

                   SPListTemplate listTemplate = web.ListTemplates["Document Library"];

                   SPDocTemplate docTemplate = (from SPDocTemplate dt in   web.DocTemplates where dt.Type == 121  select dt).FirstOrDefault();

                   Guid guid = web.Lists.Add("My Docs", "My Documents", listTemplate, docTemplate);

                   SPDocumentLibrary library = web.Lists[guid] as SPDocumentLibrary;

                   library.OnQuickLaunch = true;

                   library.Update();
                   Console.WriteLine("Library created successfully");
                   Console.Read();

               }

           }
       }
   }
}


Document Templates :

Following are the SharePoint 2010 document templates available:

Template ID
Description
100
No Template
101
Word 2003 document
103
Excel 2003 document
104
PowerPoint 2003 document
121
Word document
122
Excel document
123
PowerPoint document
111
OneNote Notebook
102
SharePoint Designer HTML document
105
ASPX Web Page
106
ASPX Web Part Page
1000
InfoPath document