Freigeben über


Konfigurieren von Unter- und Drillthroughberichten (Visual Studio-Berichts-Designer)

Mithilfe von Unterberichten und Drillthroughberichten können Sie verwandte Berichte miteinander verknüpfen.

  • Ein Unterbericht ist ein in einem übergeordneten Bericht eingebettetes Steuerelement. Vom Prinzip her ähnelt ein Unterbericht einem Frame auf einer Webseite, der einen Container für andere Inhalte der Webseite bereitstellt. Der Unterbericht wird innerhalb des übergeordneten Berichts gerendert, in dem er enthalten ist. Beide Berichte werden gleichzeitig verarbeitet und angezeigt.

  • Ein Drillthroughbericht wird als Ergebnis einer Drillthroughaktion geöffnet, die für ein Berichtselement festgelegt wurde. Durch diese Aktion wird in der Regel ein verknüpfter Bericht oder derselbe Bericht mit anderen Parametern am gleichen Ort wie der übergeordnete Bericht geöffnet. Der Drillthroughbericht ist normalerweise über Daten mit dem übergeordneten Bericht verknüpft. Ein gängiges Beispiel für einen Drillthroughbericht wäre z. B. ein Bericht mit Monatsumsätzen, der Links zu einzelnen Bestellungen des jeweiligen Monats enthält. Wenn Sie auf einen Drillthroughlink klicken, wird der übergeordnete Bericht durch einen anderen Bericht ersetzt, der die unterstützenden Detailinformationen bereitstellt.

Sowohl Drillthrough- als auch Unterberichte unterstützen das Konzept von übergeordneten und untergeordneten Berichten. Um die Berichte miteinander zu verknüpfen, müssen Sie Berichtsparameter erstellen, mit deren Hilfe Daten übergeben werden können, über die die Beziehung hergestellt wird. Um die Berichte zur Laufzeit miteinander zu verknüpfen, müssen Sie Code schreiben, der die Verbindung unterstützt. Beim Bereitstellen von verknüpften Berichten müssen Sie sicherstellen, dass die Client-Berichtsdefinitionsdateien (RDLC) zusammen im selben Ordner im Dateisystem gespeichert werden.

Für die folgenden Ereignisse wird Beispielcode bereitgestellt, in dem dargestellt wird, wie Unterberichte und Drillthroughaktionen für das ReportViewer-Steuerelement implementiert werden können:

Informationen über das Verwenden von Drilldowninteraktivität in Berichten finden Sie unter Gewusst wie: Ausblenden oder Definieren der Sichtbarkeit eines Berichtselements (Visual Studio-Berichts-Designer).

Hinzufügen von Unterberichten

Ein Unterbericht und dessen übergeordneter Bericht können über gemeinsam genutzte Parameter miteinander verknüpft werden. Sie müssen jedem Bericht Parameter hinzufügen. Die Parameter müssen konfiguriert werden, bevor Sie dem übergeordneten Bericht einen Unterbericht hinzufügen können. Wenn Sie den Unterbericht hinzufügen, richten Sie den übergeordneten Bericht so ein, dass Parameter an den Unterbericht übergeben werden.

So fügen Sie einen Unterbericht hinzu

  1. Öffnen Sie die Client-Berichtsdefinitionsdatei (RDLC) im grafischen Entwurfsmodus.

  2. Klicken Sie in der Toolbox auf Unterbericht.

  3. Ziehen Sie auf der Entwurfsoberfläche ein Feld in die für den Unterbericht gewünschte Größe. Oder klicken Sie stattdessen auf die Entwurfsoberfläche, um einen Unterbericht mit fester Größe zu erstellen.

    NoteHinweis

    Wenn der Unterbericht im Projekt enthalten ist, können Sie den Bericht aus dem Projektmappen-Explorer auf die Entwurfsoberfläche ziehen, um einen Unterbericht zu erstellen.

  4. Klicken Sie mit der rechten Maustaste auf den Unterbericht, und klicken Sie dann auf Eigenschaften.

  5. Wählen Sie unter Unterbericht den Bericht aus, der im Unterberichtsbereich angezeigt werden soll.

  6. Führen Sie auf der Registerkarte Parameter die folgenden Aktionen aus:

    • Geben Sie unter Parametername den Namen eines Parameters im Unterbericht ein. Dieser Name muss mit einem Berichtsparameter in dem Bericht übereinstimmen, der in der ReportName-Eigenschaft benannt ist.

    • Geben Sie unter Parameterwert einen Wert ein, der an den Unterbericht übergeben werden soll. Bei dem Wert kann es sich um statischen Text oder einen Ausdruck handeln, der auf ein Feld oder ein anderes Objekt im übergeordneten Bericht verweist.

  7. Wiederholen Sie Schritt 2, um weitere Parameter zur Übergabe an den Unterbericht auszuwählen.

NoteHinweis

Alle Parameter, die vom Unterbericht benötigt werden, müssen in der Liste Parameter enthalten sein. Fehlt ein benötigter Parameter, wird der Unterbericht nicht richtig im übergeordneten Bericht angezeigt.

Um Daten für Unterberichte bereitstellen zu können, muss die Anwendung das SubreportProcessing-Ereignis des LocalReport-Objekts verarbeiten. Zu den Argumenten, die an die SubreportProcessing-Ereignishandlermethode übergeben werden, zählt SubreportProcessingEventArgs. Im Ereignishandler kann die Anwendung die Werte der an den Unterbericht übergebenen Parameter mithilfe der Parameters-Eigenschaft von SubreportProcessingEventArgs untersuchen. Anschließend muss die Anwendung die Daten für den Unterbericht mithilfe der DataSources-Eigenschaft von SubreportProcessingEventArgs bereitstellen.

Konfigurieren von Drillthroughberichten

Sie können Drillthroughberichte konfigurieren, indem Sie Drillthroughaktionen definieren, die die Navigation von einem übergeordneten Bericht zu einem sekundären Bericht mit unterstützenden Daten ermöglichen.

Üblicherweise enthält ein Drillthroughbericht Parameter, die von dem übergeordneten Bericht an ihn übergeben werden. Im Beispiel des Umsatzzusammenfassungsberichts enthält der Drillthroughbericht einen Parameter, für den die Bestellnummer als Wert übergeben wird. Der Zusammenfassungsbericht enthält für jede Bestellnummer einen Drillthroughberichtslink. Wenn Sie auf diesen Link klicken, wird der Zieldetailbericht geöffnet und die Bestellnummer an diesen übergeben.

Jeder auf dem Berichtsserver gespeicherte Bericht kann als Drillthroughbericht verwendet werden. Drillthroughlinks können nur Textfeldern und Bildern hinzugefügt werden.

  1. Öffnen Sie die Client-Berichtsdefinitionsdatei (RDLC) im grafischen Entwurfsmodus.

  2. Klicken Sie mit der rechten Maustaste auf das Textfeld oder Bild, dem Sie einen Link hinzufügen möchten, und klicken Sie dann auf Eigenschaften.

  3. Aktivieren Sie auf der Registerkarte Navigation die Option Zu Bericht springen.

  4. Geben Sie einen Berichtsnamen ein, oder wählen Sie ihn aus. Bei dem Bericht muss es sich um eine RDLC-Datei handeln, die Teil desselben Projekts ist.

  5. Um Parameter zur Übergabe an den Drillthroughbericht festzulegen, klicken Sie auf Parameter und führen die folgenden Aktionen aus:

    • Geben Sie unter Parametername die Namen der Berichtsparameter im Drillthroughbericht ein.

      NoteHinweis

      Die Namen in der Parameterliste müssen mit den erwarteten Parametern im Zielbericht genau übereinstimmen. Falls die Namen nicht übereinstimmen oder ein erwarteter Parameter nicht aufgeführt ist, erzeugt der Drillthroughbericht einen Fehler.

    • Geben Sie unter Parameterwert die Werte ein, die an die Parameter im Drillthroughbericht übergeben werden sollen, oder wählen Sie sie aus.

      NoteHinweis

      Werte können einen Ausdruck enthalten, der zu einem Wert ausgewertet wird, der an den Berichtsparameter übergeben wird. Die Ausdrücke in der Werteliste schließen die Feldliste für den aktuellen Bericht ein.

Um Daten für Drillthroughberichte bereitstellen zu können, muss die Anwendung das Drillthrough-Ereignis des ReportViewer-Objekts verarbeiten. Zu den Argumenten, die an die Drillthrough-Ereignishandlermethode übergeben werden, zählt DrillthroughEventArgs. DrillThroughEventArgs verfügt über eine Report-Eigenschaft, die den Drillthroughbericht darstellt. Im Ereignishandler kann die Hostanwendung die Werte der an den Drillthroughbericht übergebenen Parameter untersuchen, indem die GetParameters()-Methode für den Drillthroughbericht aufgerufen wird. Anschließend muss die Hostanwendung die Daten für den Drillthroughbericht mithilfe der DataSources-Eigenschaft des Drillthroughberichts bereitstellen.

Siehe auch

Konzepte

Definieren von Berichtsparametern in einem Bericht (Visual Studio-Berichts-Designer)
Hinzufügen von Features für Interaktivität, Sichtbarkeit und Navigation zu einem Bericht (Visual Studio-Berichts-Designer)

Weitere Ressourcen

Beispiele und Anleitungen