Ein WebPart, dass alle WebParts einer SharePoint Seite anzeigt.. wofür brauch man dass? Naja, sicherlich benötigt man die Fähigkeit alle Webparts anzuzeigen nicht so oft, aber eventuell will man ja mit einem Klick alle WebParts auf der Seite schließen, minimieren oder entfernen.
Dank dem SharePoint Objekt Modell ein einfacher Task
public class ShowAllWebParts : WebPart
{
protected DropDownList list;
protected override void CreateChildControls()
{
list = new DropDownList();
WebPartZoneCollection col = this.WebPartManager.Zones;
foreach (WebPartZone zone in col)
{
WebPartCollection parts = zone.WebParts;
foreach (WebPart webPart in parts)
{
list.Items.Add(new ListItem(
webPart.Title, webPart.GetType().FullName));
}
}
this.Controls.Add(list);
}
protected override void Render(HtmlTextWriter writer)
{
EnsureChildControls();
this.list.RenderControl(writer);
}
}
Technorati-Tags:
SharePoint,
WebPart