SharePoint: Comment puis-je programmer l'ajout d'éléments à une instance de liste personnalisée
je suis vraiment à la recherche d'un petit extrait de code, ou un bon tutoriel sur le sujet.
j'ai une application c# console que j'utiliserai pour ajouter d'une façon ou d'une autre des éléments de liste à ma liste personnalisée. J'ai créé un type de contenu personnalisé. Donc pas sûr si je dois créer une Classe C# à partir de ce type de contenu aussi. Peut-être pas.
Merci d'avance
4 réponses
je pense que ces deux post de blog devrait vous aider à résoudre votre problème.
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/
Courte promenade à travers:
- Obtenir une instance de la liste que vous souhaitez ajouter l'article.
Ajouter un nouvel élément à la liste:
SPListItem newItem = list.AddItem();
pour lier un nouvel élément à un type de contenu, vous devez définir le type de contenu id pour le nouvel élément:
newItem["ContentTypeId"] = <Id of the content type>;
Définir les champs spécifiés dans votre type de contenu.
Valider vos modifications:
newItem.Update();
Pour faire simple, vous aurez besoin de suivre l'étape.
- vous devez faire référence au Microsoft.SharePoint.dll à la demande.
en supposant que le nom de la liste est Test et il n'a qu'un seul Champ "Titre" ici, c'est 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(); } }
notez que vous devez exécuter cette application sur le même serveur où SharePoint est installé.
Vous n'avez pas besoin de créer un Personnalisé Classe pour le Type de Contenu Personnalisé
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();
}
}
Utilisation de la liste.AddItem () devrait sauvegarder les éléments des listes en cours d'énumération.
C'est comme ça que C'était sur le site Microsoft, avec moi juste peaufinant le SPSite et SPWeb puisque ceux-ci peuvent varier d'un environnement à l'autre et il aide à ne pas avoir à code 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.