cool IT Team-Blog

Microsoft Report Viewer Control: Wiederholte Tabellenüberschriften in gruppierten Tabellen

Das Microsoft Report Viewer Control bietet umfangreiche Möglichkeiten, um Daten gruppiert im Bericht auszugeben. Trotzdem ist oft nicht ganz intuitiv, eine gewünschte Gruppierung mit dem Report-Designer zu erreichen. Dieser Blog zeigt, wie man mit Hilfe des Report Designers eine Gruppierung erreicht, in der die Tabellenüberschriften in jeder Gruppe wiederholt werden.

Wir verwenden in einer Webanwendung das Microsoft Report Viewer Control (Version 11.0) um verschiedene Berichte generieren zu können. Ein solcher Bericht soll das Inventar gruppiert nach Referaten anzeigen. Dabei ist folgende Ansicht gewünscht:

image001.png
 
Eine Herausforderung hierbei war, mit Hilfe des Report Designers in Visual Studio obiges Layout zu konstruieren. Es soll also für jede Gruppe eine Gruppenüberschrift angezeigt und darunter die Tabellen-Überschriftenzeile für jede Gruppe wiederholt werden.

Das Dataset für unseren Report beinhaltet folgende Felder:

image002.png

Zunächst fügen wir im Report Designer an der gewünschten Stelle eine Tabelle ein. Dies erreichen wir durch rechten Mausklick auf den Body und Auswahl von „Insert“-„Table“. Nach Hinzufügen der gewünschten Datenfelder sieht die noch ungruppierte Tabelle so aus:
 
image003.png

Jetzt fügen wir eine Gruppe für die Referate hinzu:

image005.png

image006.png 
 
Wichtig ist hier die Auswahl von „Add group header“ da wir ansonsten keine eigene Zeile für die Gruppenüberschrift erhalten.

Nun sieht unsere Tabelle so aus:
 image007.png

Der Designer hat hier eine neue Spalte für die Referatsbezeichnung eingefügt. Da wir die Referatsbezeichnung aber nicht links stehen haben wollen, sondern über der Tabelle, entfernen wir einfach die erste Spalte wieder:

image009.png 

Es fehlt uns jetzt auch noch die Tabellen-Überschriftenzeile, die wir für jede Gruppe wiederholen wollen. Diese Zeile fügen wir einfach mit „Insert Row“-„Inside Group – Below“ der Gruppenüberschrift hinzu:
 
image010.png

Anschließend verschieben wir die ursprüngliche Tabellen-Überschriftenzeile in die neu hinzugefügte Zeile. Dieses Verschieben muss leider Spalte für Spalte erfolgen. Die ursprüngliche Überschriftenzeile können wir nun löschen.

Für die Referatsbezeichnung reservieren wir die gesamte Tabellenbreite, indem wir die Felder der ersten Gruppen-Überschriftenzeile mittels „Merge Cells“ zusammenfassen:

image011.png 
Nun fügen wir das Feld für die Referatsbezeichnung aus unserem Dataset ein.
 
image013.png

Damit ist unsere gruppierte Tabelle funktional fertig.

Man kann jetzt z.B. noch einen Präfix wie in unserem Fall vor die Referatsbezeichnung stellen und einen Zeilenumbruch einfügen, damit zwischen den Gruppen ein Abstand entsteht. Weiters kann man noch mit den Border-Einstellungen das Ergebnis wie anfangs dargestellt erreichen.

image015.png
 
Ist doch cool, oder?

Verfasst: 24.08.2013 11:22:14 von Roland Koller
Tags: ASP.NET, gruppieren, Gruppierung, Report Viewer, Web

1


Kommentare
Für diesen Blogbeitrag liegen zurzeit keine Kommentare vor.
Einen Kommentar schreiben



 Security code