SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




programmatisch erstellte Bibliothek links in die Bibliotheken aufnehmen

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
54 Beiträge
Remei erstellt 18 Dez. 2012 17:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Leute,

ich möchte programmatisch eingebundene SharePoint Dokumenten-Bibliotheken auch links in das Bibliotheken-Menü einbinden.

Bisher zeigt mir SharePoint die programmatisch erstellten Bibliotheken erst nach einem Klick auf Bibliotheken an. Was muss noch gemacht werden, damit die Bibliothek unter den gelisteten Bibliotheken links erscheint?

Code in C#:

public static void legeDokumentenBibliothekAn(SPSite verbindung) {
            bool angelegt = false;
            SPWeb webseite = null;
            SPList dokumentenBibliothek = null;

            //SPWeb versucht Verbindungsaufbau
            try
            {
                webseite = verbindung.OpenWeb();
            }
            catch (SPException fehler)
            {
                Console.WriteLine();
                Console.WriteLine("Fehler: Konnte die Teamseite nicht öffnen!");
                Console.WriteLine(fehler.Message);
            }

            //kurz Änderungen erlauben
            webseite.AllowUnsafeUpdates = true;

            webseite.Lists.Add("TestBiblio", "", SPListTemplateType.DocumentLibrary);

            //Updaten der Listen
            webseite.Update();

            //unsichere Änderungen wieder verbieten
            webseite.AllowUnsafeUpdates = false;

            //Prüfe ob Liste vorhanden
            dokumentenBibliothek = webseite.Lists.TryGetList("TestBiblio");
            if (String.Equals(dokumentenBibliothek.Title, "TestBiblio"))
            {
                angelegt = true;
                logging("Dokumenten-Bibliothek angelegt: " + dokumentenBibliothek.Title);
            }
            //Fehlerfall für das Logging hier herein

            //Speicher freigeben
            if(webseite != null)webseite.Dispose();
        }

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Dez. 2012 08:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Setze bei der Liste/Bibliothek OnQuickLaunch auf true.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
54 Beiträge
Remei Als Antwort am 3 Jan. 2013 11:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank!.

 

Die Dokumentation hierfür erklärte noch, welche Methode mit entsprechend welcher Überladung genutzt werden muss.

 

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistcollection.add.aspx

 

Damit entsprechend umgesetzt:

SPSite verbindung = new SPSite("http://IP");

webseite = verbindung.OpenWeb();

String bibliotheksName = "Beispiel";

SPListTemplate.QuickLaunchOptions schnellStartMenu = SPListTemplate.QuickLaunchOptions.On;

webseite.Lists.Add(bibliotheksName, null, null, "00bfea71-e717-4e80-aa17-d0c71b360101", 101, "100", schnellStartMenu);

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Jan. 2013 15:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Lists.Add liefert Dir die Guid der neuen Liste zurück. Damit kannst Du Dir einfach die neue Liste holen und verändern. Meinstens ist das ohnehin notwendig, wenn man noch andere Dinge ändern muss:

Guid listId = web.Lists.Add(...);
SPList list = web.Lists[listId];
list.OnQuickLaunch = true;
list.Update();

Viele Grüße
Andi
af @ evocom de
Blog