2009-08-26 24 views
21

Realmente estoy buscando ya sea un pequeño fragmento de código o un buen tutorial sobre el tema.SharePoint: ¿Cómo puedo agregar elementos mediante programación a una instancia de lista personalizada?

Tengo una aplicación de consola C# que usaré para agregar elementos de la lista de alguna manera a mi lista personalizada. También creé un tipo de contenido personalizado. Así que no estoy seguro de si necesito crear una clase C# desde este tipo de contenido también. Talvez no.

Gracias de antemano

Respuesta

30

creo que estos tanto blog le ayudará a resolver su problema.

http://blog.the-dargans.co.uk/2007/04/programmatically-adding-items-to.html http://asadewa.wordpress.com/2007/11/19/adding-a-custom-content-type-specific-item-on-a-sharepoint-list/

corto paseo a través de:

  1. obtener una instancia de la lista que desea añadir el artículo a.
  2. Añadir un nuevo elemento a la lista:

    SPListItem newItem = list.AddItem(); 
    
  3. Para que ates nuevo elemento a un tipo de contenido que usted tiene que fijar el tipo de contenido ID para el nuevo elemento:

    newItem["ContentTypeId"] = <Id of the content type>; 
    
  4. Establezca los campos especificados dentro de su tipo de contenido.

  5. confirmar los cambios:

    newItem.Update(); 
    
16

un establecimiento que tendrá que seguir el paso.

  1. debe hacer referencia al Microsoft.SharePoint.dll a la aplicación.
  2. Suponiendo que el Nombre de la lista es Prueba y tiene solo un campo "Título" aquí está el código.

     using (SPSite oSite=new SPSite("http://mysharepoint")) 
        { 
         using (SPWeb oWeb=oSite.RootWeb) 
         { 
          SPList oList = oWeb.Lists["Test"]; 
          SPListItem oSPListItem = oList.Items.Add(); 
          oSPListItem["Title"] = "Hello SharePoint"; 
          oSPListItem.Update(); 
         } 
    
        } 
    
  3. en cuenta que necesita para ejecutar esta aplicación en el mismo servidor donde está instalado el SharePoint.

  4. Usted no necesita crear una clase personalizada para el tipo de contenido personalizado

+0

¿Puede obtener más información sobre esto 'necesita ejecutar esta aplicación en el mismo servidor'? ¿Qué sucede si creo esta aplicación en un servidor utilizando SharePoint.dll y la ejecuto para otros sitios de SharePoint? – Yogesh

9

Puede crear un elemento de la lista de SharePoint personalizada haciendo algo como esto:

using (SPSite site = new SPSite("http://sharepoint")) 
{ 
    using (SPWeb web = site.RootWeb) 
    { 
     SPList list = web.Lists["My List"]; 
     SPListItem listItem = list.AddItem(); 
     listItem["Title"] = "The Title"; 
     listItem["CustomColumn"] = "I am custom"; 
     listItem.Update(); 
    } 
} 

Usando List.addItem() debe guardar los elementos de la lista que se enumeran.

+0

list.Additem() es para versiones superiores a 2007, según tengo entendido. En 2007, solo list.Items.Add(), (que es feo desde la vista de rendimiento) –

4

Esta es la forma en que estaba en el sitio de Microsoft, conmigo sólo ajustar la SPSite y SPWeb ya que estos podrían variar de un entorno a otro y ayuda a no tener que codificar los siguientes:

using (SPSite oSiteCollection = new SPSite(SPContext.Current.Site.Url)) 
{ 
    using (SPWeb oWeb = oSiteCollection.OpenWeb(SPContext.Current.Web)) 
    { 
     SPList oList = oWeb.Lists["Announcements"]; 
     // You may also use 
     // SPList oList = oWeb.GetList("/Lists/Announcements"); 
     // to avoid querying all of the sites' lists 
     SPListItem oListItem = oList.Items.Add(); 
     oListItem["Title"] = "My Item"; 
     oListItem["Created"] = new DateTime(2004, 1, 23); 
     oListItem["Modified"] = new DateTime(2005, 10, 1); 
     oListItem["Author"] = 3; 
     oListItem["Editor"] = 3; 
     oListItem.Update(); 
    } 
} 

Fuente : SPListItemClass (Microsoft.SharePoint). (2012) Obtenido el 22 de febrero de 2012, de http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx.

Cuestiones relacionadas