{"id":505,"date":"2013-12-08T16:44:30","date_gmt":"2013-12-08T14:44:30","guid":{"rendered":"http:\/\/www.mediamill.de\/blog\/?p=505"},"modified":"2013-12-06T22:14:08","modified_gmt":"2013-12-06T20:14:08","slug":"darstellen-der-ordnerstruktur-einer-sharepoint-dokumentenbibliothek-mithilfe-einer-treeview","status":"publish","type":"post","link":"https:\/\/www.mediamill.de\/blog\/2013\/12\/08\/darstellen-der-ordnerstruktur-einer-sharepoint-dokumentenbibliothek-mithilfe-einer-treeview\/","title":{"rendered":"Darstellen der Ordnerstruktur einer SharePoint-Dokumentenbibliothek mithilfe einer Treeview"},"content":{"rendered":"<p>Die Aufgabenstellung war, ein Formularcenter mithilfe von SharePoint zu erstellen. Es sollten \u00fcber 400 Formulare hierarchisch gegliedert zum Download angeboten werden. Nach l\u00e4ngerem Testen der standardm\u00e4\u00dfigen Gruppierungfunktionalit\u00e4ten f\u00fcr Sharepoint-Listen, was nicht das gew\u00fcnschte Ergebnis brachte, stie\u00df ich auf folgenden englischen Blogeintrag:\u00a0<a title=\"Permalink to Adding a Treeview to a Document LIbrary using SPTreeView and\u00a0SPHierarchicalDataSource\" href=\"http:\/\/yetanothersharepointblog.wordpress.com\/2012\/08\/28\/adding-a-treeview-to-a-document-library-using-sptreeview-and-sphierarchicaldatasource\/\">Adding a Treeview to a Document Library using SPTreeView and\u00a0SPHierarchicalDataSource<\/a><\/p>\n<p>Hier wurde gezeigt, wie man mittels SharePoint-Designer eine Ansicht erstellen kann, die die Ordnerstruktur einer SharePoint-Dokumentenbibliothek mittels eines TreeView-Steuerelementes abbildet &#8211; und dies ganz ohne Hilfe eines Webparts.<\/p>\n<p>Folgende Schritte sind f\u00fcr eine TreeView-Ansicht einer SharePoint-Dokumentenbibliothek notwendig:<br \/>\n1. Aktivieren der Dateiansicht im SharePoint-Designer, um &#8222;Alle Dateien&#8220; anzuzeigen. Dies muss unter den Website-Einstellungen der entsprechenden Websitesammlung gemacht werden. Hier ist unter der Rubrik &#8222;Websitesammlungsverwaltung&#8220; der Link &#8222;SharePoint Designer-Einstellungen&#8220; auszuw\u00e4hlen. Danach muss die Checkbox &#8222;Verwaltung der URL-Struktur der Website aktivieren&#8220; aktiv gesetzt werden.<\/p>\n<p><a href=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Einstellungen.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-512\" alt=\"SharePoint_Designer_Einstellungen\" src=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Einstellungen.jpg\" width=\"417\" height=\"355\" srcset=\"https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Einstellungen.jpg 417w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Einstellungen-300x255.jpg 300w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Alle_Dateien_anzeigen.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-510\" alt=\"SharePoint_Designer_Alle_Dateien_anzeigen\" src=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Alle_Dateien_anzeigen.jpg\" width=\"738\" height=\"167\" srcset=\"https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Alle_Dateien_anzeigen.jpg 738w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Alle_Dateien_anzeigen-300x67.jpg 300w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Alle_Dateien_anzeigen-624x141.jpg 624w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/a><\/p>\n<p>2. \u00a0Danach ist die entsprechende View, die mit dem TreeView-Steuerelement versehen werden soll, im SharePoint-Designer im erweiterten Modus zu bearbeiten.<\/p>\n<p><a href=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Datei_im_erweiterten_Modus_bearbeiten.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-511\" alt=\"SharePoint_Designer_Datei_im_erweiterten_Modus_bearbeiten\" src=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Datei_im_erweiterten_Modus_bearbeiten.jpg\" width=\"535\" height=\"250\" srcset=\"https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Datei_im_erweiterten_Modus_bearbeiten.jpg 535w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Designer_Datei_im_erweiterten_Modus_bearbeiten-300x140.jpg 300w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/a><\/p>\n<p>3. Danach wird der komplette Inhalt des ContentPlaceHolder-Tags mit der ID &#8222;PlaceHolderMain&#8220; ausgeschnitten und \u00fcber die Zwischenablage in einem externen Editor tempor\u00e4r abgelegt.<\/p>\n<pre class=\"brush:xml\">&lt;asp:Content ContentPlaceHolderId=\"PlaceHolderMain\" runat=\"server\"&gt;\r\n\r\n&lt;-- Gesamten Taginhalt ausschneiden und zwischenspeichern --&gt;\r\n\r\n&lt;\/asp:Content&gt;<\/pre>\n<p>4. Erstellen einer HTML-Tabelle in dem leeren ContentPlaceHolder-Tag, um das Treeview-Steuerelement und die urspr\u00fcngliche Liste der Dokumentenbibliothek zu platzieren.<\/p>\n<pre class=\"brush:xml\">&lt;asp:Content ContentPlaceHolderId=\"PlaceHolderMain\" runat=\"server\"&gt;\r\n\r\n&lt;-- Tabelle als Layouthilfe f\u00fcr die Treeviev und die Liste der Dokumentenbibliothek --&gt;\r\n&lt;table style=\"width: 100%\"&gt;\r\n &lt;tr valign=\"top\"&gt;\r\n     &lt;td width=\"20%\"&gt;\r\n     &lt;-- Spalte f\u00fcr die Treeview --&gt;\r\n     &lt;\/td&gt;\r\n     &lt;td&gt;\r\n     &lt;-- Spalte f\u00fcr die Listendarstellung der Dokumentenbibliothek --&gt;\r\n     &lt;\/td&gt;\r\n\r\n    &lt;\/tr&gt;\r\n&lt;\/table&gt;\r\n&lt;\/asp:Content&gt;<\/pre>\n<p>5. Ermitteln der notwendigen Informationen f\u00fcr das Treeview-Steuerelement mithilfe der Powershell und dem SharePoint-Designer. Ben\u00f6tigt werden die ListID der Dokumentenbibliothek und die ID der Webseite, in der sich die Dokumentenbibliothek befindet.<\/p>\n<p>Die ListID der Dokumentenbibliothek wird mit dem SharePoint-Designer ermittelt:<\/p>\n<p><a href=\"http:\/\/www.mediamill.de\/blog\/wp-content\/ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-509\" alt=\"ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln\" src=\"http:\/\/www.mediamill.de\/blog\/wp-content\/ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln.jpg\" width=\"658\" height=\"207\" srcset=\"https:\/\/www.mediamill.de\/blog\/wp-content\/ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln.jpg 658w, https:\/\/www.mediamill.de\/blog\/wp-content\/ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln-300x94.jpg 300w, https:\/\/www.mediamill.de\/blog\/wp-content\/ListID_von_SharePoint_Liste_mit_SharePoint_Designer_ermitteln-624x196.jpg 624w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/a><\/p>\n<p>Die ID der Website kann mit der PowerShell ermittelt werden:<\/p>\n<pre class=\"brush:powershell\">PS C:\\scripts&gt; $site=get-spsite http:\/\/xxxxxxxxx\/formularcenter\r\nPS C:\\scripts&gt; $site.id\r\nGuid\r\n----\r\ne2044234-0449-4362-af2b-7ba48b9ad678<\/pre>\n<p>6. Vorbereiten und Anpassen des Codes f\u00fcr das Treeview-Steuerelement:<\/p>\n<pre class=\"brush:xml\">&lt;SharePoint:SPHierarchyDataSourceControl id=\"doclibDataSource\" runat=\"server\" RootListId=\"XXXXXXXXXXXXXXX\" RootWebId=\"YYYYYYYYYYYYY\" ShowFolderChildren=\"true\" EnableViewState=\"false\"&gt;&lt;\/SharePoint:SPHierarchyDataSourceControl&gt;\r\n&lt;SharePoint:SPTreeView ID=\"doclibtreeview\" runat=\"server\" DataSourceID=\"doclibDataSource\" EnableViewState=\"false\" ExpandDepth=\"2\"  SelectedNodeStyle-CssClass=\"ms-tvselected\"&gt;&lt;\/SharePoint:SPTreeView&gt;\r\n\r\n&lt;-- XXXXXXXXXXXXXX = ID der Dokumentenbibliothek, ermittelt mit dem SharePoint Designer --&gt;\r\n&lt;-- YYYYYYYYYYYYYY = ID der Website, ermittelt mit der Powershell --&gt;<\/pre>\n<p>7. Einf\u00fcgen des Treeview-Codes in die oben erstellte Tabelle.<\/p>\n<p>8. Einf\u00fcgen des zwischengespeicherten Codes f\u00fcr die eigentliche Listendarstellung der Dokumentenbibliothek, ebenfalls in die oben erstellte Tabelle.<\/p>\n<p>9. Das Ganze sollte nun wie folgt aussehen:<\/p>\n<p><a href=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Dokumentenbibliothek_mit_Treeview.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-516\" alt=\"SharePoint_Dokumentenbibliothek_mit_Treeview\" src=\"http:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Dokumentenbibliothek_mit_Treeview.jpg\" width=\"941\" height=\"227\" srcset=\"https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Dokumentenbibliothek_mit_Treeview.jpg 941w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Dokumentenbibliothek_mit_Treeview-300x72.jpg 300w, https:\/\/www.mediamill.de\/blog\/wp-content\/SharePoint_Dokumentenbibliothek_mit_Treeview-624x150.jpg 624w\" sizes=\"auto, (max-width: 941px) 100vw, 941px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Aufgabenstellung war, ein Formularcenter mithilfe von SharePoint zu erstellen. Es sollten \u00fcber 400 Formulare hierarchisch gegliedert zum Download angeboten werden. Nach l\u00e4ngerem Testen der standardm\u00e4\u00dfigen Gruppierungfunktionalit\u00e4ten f\u00fcr Sharepoint-Listen, was nicht das gew\u00fcnschte Ergebnis brachte, stie\u00df ich auf folgenden englischen Blogeintrag:\u00a0Adding a Treeview to a Document Library using SPTreeView and\u00a0SPHierarchicalDataSource Hier wurde gezeigt, wie man [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,53,54],"tags":[],"class_list":["post-505","post","type-post","status-publish","format-standard","hentry","category-powershell","category-sharepoint-2","category-sharepoint-designer"],"_links":{"self":[{"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/posts\/505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/comments?post=505"}],"version-history":[{"count":9,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/posts\/505\/revisions"}],"predecessor-version":[{"id":573,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/posts\/505\/revisions\/573"}],"wp:attachment":[{"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/media?parent=505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/categories?post=505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mediamill.de\/blog\/wp-json\/wp\/v2\/tags?post=505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}