web-dev-qa-db-fra.com

SharePoint: Comment puis-je ajouter par programme des éléments à une instance de liste personnalisée

Je recherche vraiment soit un petit extrait de code, soit un bon tutoriel sur le sujet.

J'ai une application console C # que j'utiliserai pour ajouter en quelque sorte des éléments de liste à ma liste personnalisée. J'ai également créé un type de contenu personnalisé. Donc, je ne sais pas si je dois également créer une classe C # à partir de ce type de contenu. Peut-être pas.

Merci d'avance

24
JL.

Je pense que ces deux articles de blog devraient vous aider à résoudre votre problème.

http://blog.the-dargans.co.uk/2007/04/programmatically-adding-items-to.htmlhttp://asadewa.wordpress.com/2007/ 11/19/ajout d'un élément de contenu spécifique au type de contenu personnalisé sur une liste de points de partage /

Petite promenade à travers:

  1. Obtenez une instance de la liste à laquelle vous souhaitez ajouter l'élément.
  2. Ajoutez un nouvel élément à la liste:

    SPListItem newItem = list.AddItem();
    
  3. Pour vous lier un nouvel élément à un type de contenu, vous devez définir l'ID de type de contenu pour le nouvel élément:

    newItem["ContentTypeId"] = <Id of the content type>;
    
  4. Définissez les champs spécifiés dans votre type de contenu.

  5. Validez vos modifications:

    newItem.Update();
    
32
Flo

Pour faire simple, vous devrez suivre l'étape.

  1. Vous devez référencer Microsoft.SharePoint.dll à l'application.
  2. En supposant que le nom de la liste est Test et qu'il n'a qu'un seul champ "Title", voici le code.

            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. Notez que vous devez exécuter cette application sur le même serveur où SharePoint est installé.

  4. Vous n'avez pas besoin de créer une classe personnalisée pour un type de contenu personnalisé

18
Kusek

Vous pouvez créer un élément dans votre liste SharePoint personnalisée en faisant quelque chose comme ceci:

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();
     }
}

L'utilisation de list.AddItem () devrait enregistrer les éléments des listes en cours d'énumération.

11
Andrew

Voici comment c'était sur le site de Microsoft, avec moi juste peaufiner le SPSite et SPWeb car ceux-ci peuvent varier d'un environnement à l'autre et il est utile de ne pas avoir à coder en dur ceux-ci:

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();
    }
}

Source: SPListItemClass (Microsoft.SharePoint). (2012). Extrait le 22 février 2012 de http://msdn.Microsoft.com/en-us/library/Microsoft.sharepoint.splistitem.aspx .

5
vapcguy