Funktionen im Web Report Designer deaktivieren

Der Web Report Designer verfügt über ein umfangreiches Menü mit diversen Aktionen. Es können z.B. neue Projekte angelegt, bestehende Projekte geöffnet oder auch unter anderem Namen abgespeichert werden:

Falls nun aber im Web Report Designer nicht alle Funktionen zur Verfügung stehen sollen, können diese auch eingeschränkt werden. Hierzu kann im abgeleiteten Controller für den Web Report Designer die Funktion OnProvideProhibitedActions() überschrieben werden. Dort kann über den Member ProhibitedActions des übergebenen provideProhibitedActionsContext bestimmt werden, welche Aktionen entfernt werden sollen. Füge diese einfach über die Add()-Funktion hinzu:

...
public override void OnProvideProhibitedActions(
            ProvideProhibitedActionsContext provideProhibitedActionsContext)
{
  foreach (WebReportDesignerAction action in 
                DefaultSettings.GetProhibitedActions())
  {
    provideProhibitedActionsContext.ProhibitedActions.Add(action);
  }
}
...

Die GetProhibitedActions Methode könnte dabei so aussehen:

...
public static WebReportDesignerAction[] GetProhibitedActions()
{
  return new WebReportDesignerAction[]
  {
    WebReportDesignerAction.CreateNewProject
  };
}
...

Als Ergebnis wird nun eine entsprechende Meldung in der Oberfläche für den Anwender angezeigt:

Weitere einzuschränkende Aktionen können in der Auflistung WebReportDesignerAction eingesehen werden.

Die Methode Add() besitzt noch einen zusätzlichen optionalen bool-Parameter displayInFrontEnd über den bestimmt werden kann, dass die betreffende Schaltfläche für die einzuschränkende Aktion vollständig aus der Oberfläche entfernt wird. Beispiel:

...
provideProhibitedActionsContext.ProhibitedActions.Add(
                            WebReportDesignerAction.CreateNewProject, false);
...

Bei dieser Vorgehensweise ist die “Neu”-Schaltfläche dann nicht mehr vorhanden: