Freitag, 29. August 2008

Toolbar in WebPart programmatisch ausblenden

Hier wieder ein schönes Beispiel, was für Potential für Zeitverschwendung in SharePoint steckt:
Über die Oberfläche ist es relativ simpel, die Toolbar in einem Webpart zu verstecken, wie der folgende Screenshot zeigt.



Einfach auf "Freigegebenes Webpart bearbeiten" klicken und bei Symbolleistentyp "Keine Symbolleite" auswählen. Abspeichern und Fertig.

Das ganze jetzt programmatisch in die Solution mit hineinzunehmen sollte doch wohl kein Aufwand sein. Ist es auch nicht... - wenn man weiß, wo man hinfassen muss.

Und das herauszufinden kostet Zeit.
Denn das SDK und selbst die MSDN sind da leider unvollständig. Erst ein Kommentar aus der Community brachte Licht ins Dunkel: *click*

Um also in einem Webpart - in meinem konkreten Fall das ListView-Webpart auf eine Aufgabenliste mit Gantt-View - die Symbolleiste auszublenden bedarf es folgender Anpassungen:


in der schema.xml der Liste

<views>
.....
<View Type="GANTT" DisplayName="Gantt" Url=&quotGantt.aspx" Level="1" BaseViewID="13" ContentTypeID="0x" ImageUrl="/_layouts/images/generic.png" WebPartZoneID="Main">
<Toolbar Type="None"></Toolbar>
.....
</View>
.....
</views>

in der onet.xml

<modules>
<module name="DefaultConfig" url="Lists/WebsitesList" list="101">
<file url="BlankPortalPage.aspx" name="Kalender.aspx" type="GhostableInLibrary">

<view list="Lists/TaskList" name="Gantt" displayname="Gantt" type="GANTT" baseviewid="13" webpartzoneid="Top" webpartorder="2">
<!--[CDATA[ <webpart xmlns="http://schemas.microsoft.com/WebPart/v2" iwp="http://schemas.microsoft.com/WebPart/v2/ListView"> <assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</assembly> <typename>Microsoft.SharePoint.WebPartPages.ListViewWebPart</typename> <frametype>None</frametype> <title>Kalender</title> </webpart> ]]-->
</view>
</file>

</module>

</modules>


Dadurch werden sowohl im View als auch im WebPart die Symbolleisten nicht mehr angezeigt. Der Nachteil daran ist, dass über die Oberfläche die Toolbar aber nicht mehr manuell wiederangezeigt werden kann.

Keine Kommentare: