Variable Kopf höhe bei Reports

14. Januar 2014 17:40

Hallo,

Ich habe folgendes Problem:

Ich baue einen Report aus einer alten Datenbank in 2013 nach, genauer gesagt ein Angebot, eine modifizierte Version des Reports 204.
Folgendes Problem bildlich dagestellt:
[Kopf]
---Textblock1---
---Textblock2---
---Textblock3 oder 4--
---Textblock5---
---Textblock6---
[Kopf Ende]

Textblock 1,2,3,4 und 6 Sollen nur Gedruckt werden wenn die Seitennummer = 1 ist.
Textblock 5 soll immer Gedruckt werden.
Textblock 1-6 Sind 13,3 cm hoch
Textblock 5 alleine ist 3,4 cm hoch.

Wenn ich nun die Textblöcke 1-4 + 6 Ausblende sobald die Seitennummer >1 ist , fängt mein Body trozdem erst nach der gesamte höhe von 13,3cm an.
Der Grund warum das alles im Kopf ist: in Textblock 3 und 4 ist die PageNumber variable aus Visual Studio enthalten und diese Funktioniert ja ausschließlich im Kopf.

Die Idee war nun die Größe des Kopfes variabel zu gestalten, aber ich weis nicht was mir Visual Studio da für möglichkeiten bietet, dazu kenne ich das Programm nicht genug.

Ich hoffe ich habe das Problem detailiert genug erklärt und jemand hat eine Idee oder einen Lösungsvorschlag.

Re: Variable Kopf höhe bei Reports

14. Januar 2014 18:52

Herzlich Willkommen bei uns!

mgeoerge hat geschrieben:Die Idee war nun die Größe des Kopfes variabel zu gestalten, aber ich weis nicht was mir Visual Studio da für möglichkeiten bietet

Direkt leider gar keine, das heißt, Seitenköpfe haben eine fixe Größe.

Kannst du damit etwas anfangen? viewtopic.php?p=95943#p95943

Re: Variable Kopf höhe bei Reports

14. Januar 2014 19:23

Danke für den Link und das Willkommen.

Das "Stapeln" von gleichen Textelementen und möglichst viel im Body zu lassen kenne ich, allerdings versuche ich ohne optische änderung des Reports diesen in 2013 lauffähig zu bekommen.
Ohne das Optik zu verändern kann ich leider nichts davon im Body lassen, wodurch meine Größe für den 1. Kopf bei 13,3 cm wäre, die restlichen köpfe benötigen davon nur 3,4cm.

Sonst noch Ideen in der hinsicht?

gruß

Re: Variable Kopf höhe bei Reports

14. Januar 2014 19:31

mgeoerge hat geschrieben:Ohne das Optik zu verändern kann ich leider ...

Genau das ist der Knackpunkt. Es lassen sich nicht alle Reports 1:1 in Visual Studio abbilden - manchmal sind Anpassungen einfach nötig, oder du arbeitest tatsächlich mit einem entsprechend hohen Header.

Re: Variable Kopf höhe bei Reports

15. Januar 2014 09:03

Okay, wenn ich dann jetzt das Design so anpasse das ich nur einen kleinen Kopf habe und die restlichen Daten im Body, wie bekomme ich nun die Logik im Body umgesetzt?
Ziel war es nach abhängigkeit der Seitennummer Felder auszublenden.

Danke schonmal für die Antworten bisher

Gruß

Re: Variable Kopf höhe bei Reports

15. Januar 2014 10:14

mgeoerge hat geschrieben:wie bekomme ich nun die Logik im Body umgesetzt?
Ziel war es nach abhängigkeit der Seitennummer Felder auszublenden.

Am idealsten wäre es (...), wenn du die Reihenfolge der Textfelder ändern düftest, also die, die immer gedruckt werden sollen, nach oben (= in den Kopf), und die nur für Seite 1 nach unten (=in den Body). Wenn das nicht möglich ist, müssen alle Textblöcke in den Kopf.

Re: Variable Kopf höhe bei Reports

15. Januar 2014 10:25

Natalie hat geschrieben:
mgeoerge hat geschrieben:wie bekomme ich nun die Logik im Body umgesetzt?
Ziel war es nach abhängigkeit der Seitennummer Felder auszublenden.

Am idealsten wäre es (...), wenn du die Reihenfolge der Textfelder ändern düftest, also die, die immer gedruckt werden sollen, nach oben (= in den Kopf), und die nur für Seite 1 nach unten (=in den Body). Wenn das nicht möglich ist, müssen alle Textblöcke in den Kopf.

Das habe ich so nachgebaut, habe jetzt einen kleinen Kopf und alles andere im Body.
Wie bekomme ich nun die Felder im Body nur einmal gedruckt? Im Classic war dies ja durch "CurrReport.SHOWOUTPUT(CurrReport.PAGENO = 1)" bisher geregelt, die Seitennummer in Visualstudio "[&PageNumber]" funktioniert ja nur im Kopf/Fuß.

Re: Variable Kopf höhe bei Reports

15. Januar 2014 10:42

mgeoerge hat geschrieben:Wie bekomme ich nun die Felder im Body nur einmal gedruckt?

In den Standardreports (RDLC) besteht der Body zunächst einmal aus einem Listenelelement, in welchem sich alle anderen Elemente (Textboxen, Tabellen, ...) befinden.
Diese Liste hat eine Gruppierung nach Primärschlüssel des Belegkopfes + OutputNo (das ist die Nummer des aktuellen Exemplares; für Belegkopien).

Solange du Elemente in diese Liste einbettest, werden sie immer nur einmal pro Belegexemplar gedruckt:
1) Bei Verwendung von Textboxen ganz automatisch (musst dich also um nichts weiter kümmern).
2) Bei Tabellenzeilen (RDLC Tablix) nur dann, wenn es sich entweder um Kopf- oder Fußzeile dieses Tablix handelt, oder (das führt jetzt zu weit) es sich um eine Gruppenzeile handelt, wobei diese Gruppe der Listengruppe entspricht.