Freigeben über


Hinzufügen von Kopfzeilen und Fußzeilen zu einem Bericht (Visual Studio-Berichts-Designer)

Ein Bericht kann eine Kopf- und Fußzeile enthalten, die jeweils am oberen bzw. unteren Rand jeder Seite angezeigt wird. Kopf- und Fußzeilen können statischen Text, Bilder, Linien, Rechtecke, Rahmen, Hintergrundfarben und Hintergrundbilder enthalten. Es ist nicht möglich, datengebundene Felder oder Bilder direkt zu einer Kopf- oder Fußzeile hinzuzufügen. Sie können jedoch einen Ausdruck schreiben, der indirekt auf ein datengebundenes Feld oder Bild verweist, das Sie in einer Kopf- oder Fußzeile verwenden möchten.

Ein Berichtskopf bzw. -fuß ist nicht dasselbe wie ein Kopf oder Fuß in einer Tabelle oder Gruppe. Weitere Informationen zu Tabellenköpfen und -füßen finden Sie unter Hinzufügen von Tabellendatenbereichen (Visual Studio-Berichts-Designer). Weitere Informationen zum Hinzufügen von Kopf- und Fußzeilen zu einem Bericht finden Sie unter Gewusst wie: Hinzufügen, Ausblenden und Entfernen von Kopf- und Fußzeilen (Visual Studio-Berichts-Designer).

NoteHinweis

Jedes Berichtsausgabeformat verarbeitet Seiten auf andere Weise. Weitere Informationen finden Sie unter Definieren von Seitengröße und Seitenumbrüchen in einem Bericht (Visual Studio-Berichts-Designer).

Unterdrücken von Kopf- und Fußzeilen auf der ersten Seite

Standardmäßig werden der Seitenkopf und der Seitenfuß auch auf der ersten und letzten Seite eines Berichts angezeigt. Sie können den Seitenkopf und -fuß auf der ersten und der letzten Seite unterdrücken, indem Sie die PrintOnFirstPage- oder die PrintOnLastPage-Eigenschaft für die Kopf- oder Fußzeile ändern.

Anzeigen variabler Daten in einem Seitenkopf oder -fuß

Ein Seitenkopf oder -fuß kann statischen Inhalt enthalten. Meistens wird er jedoch zur Anzeige von variierendem Inhalt wie Seitenzahlen oder Informationen zum Inhalt einer Seite verwendet. Wenn Sie variable Daten anzeigen möchten, die sich mit jeder Seite ändern, müssen Sie einen Ausdruck schreiben. Führen Sie folgende Aktionen aus, um variable Daten in einer Kopf- oder Fußzeile zu platzieren:

  1. Fügen Sie der Kopf- oder Fußzeile ein Textfeld hinzu.

  2. Schreiben Sie im Textfeld einen Ausdruck, der die variablen Daten generiert, die angezeigt werden sollen.

  3. Schließen Sie Verweise auf Berichtselemente auf der Seite (z. B. einen Verweis auf ein Textfeld, das Daten aus einem bestimmten Feld enthält) in den Ausdruck ein. Schließen Sie keinen direkten Verweis auf Felder in einem Dataset ein.

Sie können von einem Textfeld in einem Seitenkopf oder -fuß nicht direkt auf ein Feld verweisen. (Sie können z. B. den Ausdruck =Fields!LastName.Value nicht verwenden.)

Um Feldinformationen in einem Seitenkopf oder -fuß anzuzeigen, platzieren Sie den Feldausdruck in einem Textfeld im Hauptteil des Berichts, und verweisen Sie dann im Seitenkopf oder -fuß auf dieses Textfeld. Der folgende Ausdruck zeigt den Inhalt der ersten Instanz des Textfelds TXT_LastName an:

=First(ReportItems!TXT_LastName.Value)

Sie können keine Aggregatfunktionen für Felder im Seitenkopf oder -fuß verwenden. Eine Aggregatfunktion kann nur für ein Berichtselement verwendet werden (wie z. B. die zuvor erläuterte First()-Funktion). Informationen zu häufig verwendeten Ausdrücken im Seitenkopf und -fuß finden Sie unter In Berichten häufig verwendete Ausdrücke (Visual Studio-Berichts-Designer).

Die folgenden Abschnitte dieses Themas beschreiben sofort verwendbare Ausdrücke zum Abrufen von variablen Daten, die häufig im Seitenkopf und -fuß verwendet werden. Darüber hinaus wird erläutert, wie Kopf- und Fußzeilen von der Excel-Renderingerweiterung verarbeitet werden. Weitere Informationen zu Ausdrücken finden Sie unter Verwenden von Ausdrücken in einem Bericht (Visual Studio-Berichts-Designer).

Hinzufügen von Seitenzahlen zu einer Kopf- oder Fußzeile

In Fußzeilen wird in vielen Fällen eine Seitenzahl angezeigt. Um eine Seitenzahl in der Kopf- oder Fußzeile eines Berichts anzuzeigen, erstellen Sie ein Textfeld in der Fußzeile und fügen folgenden Ausdruck hinzu:

=Globals.PageNumber & " of " & Globals.TotalPages

Hinzufügen des Berichtsnamens, des Pfads und der Berichtsausführungszeit zu einer Kopf- oder Fußzeile

Verwenden Sie die folgenden Ausdrücke, um den Titel des Berichts oder den Berichtsnamen, wie er in der Berichtsserver-Datenbank gespeichert ist, zusammen mit Timestampinformationen anzuzeigen, die angeben, wann der Bericht generiert wurde:

=ReportItems!ReportTitle.Value

=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Hinzufügen eines datengebundenen Bilds zu einer Kopf- oder Fußzeile

Sie können Bilddaten, die in einer Datenbank gespeichert sind, in einer Kopf- oder Fußzeile verwenden. Es ist jedoch nicht möglich, direkt von der Bildsteuerung auf Datenbankfelder zu verweisen. Stattdessen müssen Sie dem Hauptteil des Berichts ein Textfeld hinzufügen und dann das Textfeld auf das Datenfeld festlegen, das das Bild enthält. (Beachten Sie, dass der Wert Base64-codiert sein muss.) Sie können das Textfeld im Hauptteil des Berichts ausblenden, um die Anzeige des Base64-codierten Bilds zu unterdrücken. Anschließend können Sie von der Bildsteuerung im Seitenkopf oder -fuß auf den Wert des ausgeblendeten Textfelds verweisen.

Nehmen Sie z. B. an, Ihr Bericht besteht aus mehreren Seiten mit Produktinformationen. In der Kopfzeile jeder Seite soll ein Foto des jeweiligen Produkts angezeigt werden. Damit ein gespeichertes Bild im Berichtskopf gedruckt wird, definieren Sie im Hauptteil des Berichts ein ausgeblendetes Textfeld mit dem Namen TXT_Photo, das das Bild aus der Datenbank abruft. Verwenden Sie dann einen Ausdruck, um dem Textfeld einen Wert zuzuweisen:

=Convert.ToBase64String(Fields!Photo.Value)

Fügen Sie der Kopfzeile eine Bildsteuerung hinzu, die das Textfeld TXT_Photo im decodierten Zustand verwendet, sodass das Bild angezeigt wird:

=Convert.FromBase64String(ReportItems!TXT_Photo.Value)

Hinzufügen von berechneten Seitensummen zu einer Kopf- oder Fußzeile

Bei bestimmten Berichten ist es hilfreich, einen berechneten Wert in die Kopf- oder Fußzeile einzuschließen (z. B. eine seitenbasierte Gesamtsumme, wenn die Seite numerische Werte enthält). Da Sie nicht direkt auf die Felder verweisen können, muss der Ausdruck, den Sie in der Kopf- oder Fußzeile angeben, auf den Namen des Berichtselements (z. B. ein Textfeld) und nicht auf das Datenfeld verweisen:

=Sum(ReportItems!Textbox1.Value)

Wenn es sich bei dem Textfeld um eine Tabelle oder eine Liste handelt, die wiederholte Zeilen mit Daten enthält, gibt der Wert, der zur Laufzeit in der Kopf- oder Fußzeile angezeigt wird, die Summe aller Werte aller TextBox1-Instanzdaten in der Tabelle oder Liste für die aktuelle Seite an.

Beim Berechnen von Seitensummen müssen Sie mit Abweichungen bei den Summen rechnen, wenn Sie verschiedene Renderingerweiterungen zum Anzeigen des Berichts verwenden. Paginierte Ausgaben werden bei den einzelnen Renderingerweiterungen unterschiedlich berechnet. Auf derselben Seite, die Sie in HTML anzeigen, können beim Anzeigen im PDF-Format abweichende Summen angezeigt werden, wenn sich die Menge der Daten auf der PDF-Seite von der HTML-Seite unterscheidet.

Verwenden von Kopf- und Fußzeilen zum Positionieren von Text

Mithilfe von Kopf- und Fußzeilen können Sie Text auf einer Seite positionieren. Nehmen Sie z. B. an, Sie erstellen einen Bericht, den Sie an Ihre Kunden senden möchten. Sie können eine Kopf- oder Fußzeile zum Positionieren der Kundenadresse verwenden, sodass sie nach dem Falten im Fenster eines Umschlags angezeigt wird.

Wenn Sie das Textfeld nur verwenden, um eine Kopf- oder Fußzeile zu füllen, können Sie das Textfeld im Hauptteil des Berichts ausblenden. Die Platzierung eines Textfelds im Hauptteil des Berichts kann sich darauf auswirken, ob der Wert in der Kopf- oder Fußzeile der ersten oder der letzten Seite eines Berichts angezeigt wird. Wenn der Bericht z. B. Tabellen, Matrizen oder Listen enthält, die bewirken, dass sich der Bericht über mehrere Seiten erstreckt, wird der Wert des ausgeblendeten Textfelds auf der letzten Seite angezeigt. Wenn der Wert auf der ersten Seite angezeigt werden soll, müssen Sie das ausgeblendete Textfeld am Anfang des Hauptteils des Berichts platzieren.

Verwenden von Seitenkopf und -fuß in Excel

Beim Definieren eines Seitenkopfes und -fußes für Berichte, für die die Excel-Renderingerweiterung verwendet werden soll, sollten Sie sich an die folgenden Richtlinien halten, um ein optimales Ergebnis zu erzielen:

  • Verwenden Sie den Seitenfuß, um Seitenzahlen anzuzeigen.

  • Verwenden Sie den Seitenkopf, um Bilder, Titel und anderen Text anzuzeigen. Platzieren Sie die Seitenzahlen nicht in die Kopfzeile.

In Excel verfügt der Seitenfuß über begrenzte Layoutoptionen. Wenn Sie einen Bericht definieren, der komplexe Berichtselemente im Seitenfuß enthält, wird der Seitenfuß nicht wie erwartet verarbeitet, wenn der Bericht in Excel angezeigt wird.

Die Excel-Renderingerweiterung kann Bilder und die absolute Positionierung einfacher oder komplexer Berichtselemente im Seitenkopf verarbeiten. Ein Nebeneffekt der Unterstützung eines aufwendigeren Seitenkopflayouts ist die eingeschränkte Unterstützung für die Berechnung von Seitenzahlen in der Kopfzeile. In der Excel-Renderingerweiterung bewirken die Standardeinstellungen, dass Seitenzahlen basierend auf der Anzahl der Arbeitsblätter berechnet werden. Je nachdem, wie Sie den Bericht definieren, kann dies zu fehlerhaften Seitenzahlen führen. Nehmen Sie z. B. an, Ihr Bericht wird in Form eines einzigen großen Arbeitsblatts gerendert, das über vier Seiten gedruckt wird. Wenn Sie Seitenzahlinformationen in die Kopfzeile einschließen, wird auf jeder Seite "Seite 1 von 1" in der Kopfzeile angezeigt.

Eine präzisere Seitenanzahl basiert auf logischen Seiten, die den Abmessungen einer gedruckten Seite entsprechen. In Excel werden im Seitenfuß automatisch logische Seitenzahlen verwendet. Wenn Sie die logische Seitenzahl in den Seitenkopf aufnehmen möchten, müssen Sie die Geräteinformationseinstellungen so konfigurieren, dass einfache Kopfzeilen verwendet werden. Bedenken Sie jedoch, dass durch die Verwendung einfacher Kopfzeilen die Möglichkeit zur Verarbeitung komplexer Berichtslayoutoptionen im Kopfzeilenbereich entfällt.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen, Ausblenden und Entfernen von Kopf- und Fußzeilen (Visual Studio-Berichts-Designer)

Konzepte

Definieren von Seitengröße und Seitenumbrüchen in einem Bericht (Visual Studio-Berichts-Designer)