wake-up-neo.net

SharePoint: Wie kann ich einer benutzerdefinierten Listeninstanz programmgesteuert Elemente hinzufügen?

Ich bin wirklich auf der Suche nach einem kleinen Code-Snippet oder einem guten Tutorial zu diesem Thema.

Ich habe eine C # -Konsolen-App, mit der ich meiner benutzerdefinierten Liste Listenelemente hinzufügen kann. Ich habe auch einen benutzerdefinierten Inhaltstyp erstellt. Ich bin mir also nicht sicher, ob ich aus diesem Inhaltstyp auch eine C # -Klasse erstellen muss. Vielleicht nicht.

Danke im Voraus

24
JL.

Ich denke, diese beiden Blogbeiträge sollten Ihnen bei der Lösung Ihres Problems helfen.

http://blog.the-dargans.co.uk/2007/04/programmatically-adding-items-to.htmlhttp://asadewa.wordpress.com/2007/ 11/19/Hinzufügen eines benutzerdefinierten inhaltstypspezifischen Elements auf einer Sharepoint-Liste /

Kurzer Spaziergang durch:

  1. Rufen Sie eine Instanz der Liste ab, zu der Sie das Element hinzufügen möchten.
  2. Fügen Sie der Liste ein neues Element hinzu:

    SPListItem newItem = list.AddItem();
    
  3. Um ein neues Element an einen Inhaltstyp zu binden, müssen Sie die Inhaltstyp-ID für das neue Element festlegen:

    newItem["ContentTypeId"] = <Id of the content type>;
    
  4. Legen Sie die Felder fest, die in Ihrem Inhaltstyp angegeben sind.

  5. Übernehmen Sie Ihre Änderungen:

    newItem.Update();
    
32
Flo

Um es einfach zu machen, müssen Sie dem Schritt folgen.

  1. Sie müssen Microsoft.SharePoint.dll auf die Anwendung verweisen.
  2. Angenommen, der Listenname ist Test und es gibt nur ein Feld "Titel". Hier ist der 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. Beachten Sie, dass Sie diese Anwendung auf demselben Server ausführen müssen, auf dem SharePoint installiert ist.

  4. Sie müssen keine benutzerdefinierte Klasse für den benutzerdefinierten Inhaltstyp erstellen

18
Kusek

Sie können ein Element in Ihrer benutzerdefinierten SharePoint-Liste folgendermaßen erstellen:

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

Wenn Sie list.AddItem () verwenden, werden die aufzunehmenden Listenelemente gespeichert.

11
Andrew

So war es auf der Microsoft-Site, bei der ich nur SPSite und SPWeb optimiert habe, da diese von Umgebung zu Umgebung variieren können und es hilft, diese nicht hart codieren zu müssen:

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

Quelle: SPListItemClass (Microsoft.SharePoint). (2012). Abgerufen am 22. Februar 2012 von http://msdn.Microsoft.com/en-us/library/Microsoft.sharepoint.splistitem.aspx .

5
vapcguy