Laden...

Crystal Report - Zeilenumbruch im String wird ignoriert

Erstellt von Talon vor 13 Jahren Letzter Beitrag vor 12 Jahren 12.493 Views
T
Talon Themenstarter:in
67 Beiträge seit 2010
vor 13 Jahren
Crystal Report - Zeilenumbruch im String wird ignoriert

Ich wollte in einem Report im Berichtsfuß eine Zusammenfassung anzeigen lassen.
Dazu habe ich ein Textfeld in den Bericht eingefügt und die Eigenschaft "CanGrow" auf true gesetzt.

Egal ob nun "\n" oder "Environment.NewLine". Der Report ignoriert den Zeilenumbruch und schreibt den Text einfach fortlaufend in das Textfeld.

Wie bekomme ich Crystal Report dazu an entsprechender Stelle im String einen Zeilenumbruch durchzuführen?

Im Netz habe ich den Hinweis auf Formelfelder gefunden. Aber die Beschreibungen dazu sind sehr dürftig. Und die eigene Hilfe gibt auch nichts dazu her.

Replace ({SatzDetails},";" ,chr(13) )

Wenn ich ein Formelfeld (SatzDetails) erstelle und diesen Code einfüge bekomme ich die Fehlermeldung: "Dieser Feldname ist unbekannt". Was will Crystal Report von mir? Das ursprüngliche Textfeld als "Quelle" wird mit dem gleichen Fehler quittiert.
Im Net finde ich nur den Code, aber keinerlei weitere Info die das genauer erklärt. Die Hilfe gibt nur "nichts gefunden" zurück.
Ich verstehe nicht was Crystal Report von mir will. Welches Feld soll ich denn bitteschön als Datenquelle für die Funktion angeben? Es scheint ja, dass dies die einzige Möglichkeit ist, Zeilenumbrüche in Crystal Report einzufügen.

156 Beiträge seit 2010
vor 13 Jahren

Hallo,eigentlich sollte ChrW(13) ein Line-break machen.

T
Talon Themenstarter:in
67 Beiträge seit 2010
vor 13 Jahren

Danke für die Antwort. Das hilft mir so aber erst einmal nicht weiter. Vielleicht noch mal das Problem erklärt.

Ich habe einen Report in dessen Berichtsfuß sich ein Textfeld befindet. An das Textfeld übergebe ich einen mehrzeiligen Text. Da es sich um eine Auflistung handelt, muss ich an bestimmten Stellen (der Lesbarkeit wegen) einen Zeilenumbruch machen.

Das ganze sieht in etwa so aus:

Report r = new Report();
TextObject textfeld;
textfeld = r.ReportDefinition.ReportObjects["textfeld"] as TextObject;
textfeld.Text = mehrzeiligerString;

Das ganze muss zwingend im Berichtsfuß stehen.
Das Replace scheint wohl nur auf Spalten in einer Tabelle anwendbar und nicht auf Textfelder. Deswegen wohl auch die Fehlermeldung "Dieser Feldname ist unbekannt".

Wie vorher schon geschrieben ignoriert Crystal Reports alle, im String übergebenen, Zeilenumbrüche.

Ich bin nun auf der Suche nach einer Lösung. Ob das nun der oben beschriebene Weg ist, oder was völlig anderes spielt keine Rolle. Ich Bau auch eine 2te Tabelle in mein Dataset ein wenn es sein muss. Hauptsache ich bekomme die Daten entsprechend formatiert in den Berichtsfuß.

Vielen Dank noch mal für die Hilfe.

A
266 Beiträge seit 2007
vor 13 Jahren

Also dass mit der 2ten Tabelle klingt doch schon mal nach einem vernünftigen Plan... Also quasi die Texte als Variablen übergeben ist wohl am einfachsten...
Denn kannst du die Felder einfach in den Berichtsfuß ziehen... 👍

Formeln kannst du nur auf Berichtsvariablen anwenden, nicht auf TextObjekte...

Oder gibt es einen Bestimmten Grund warum du das Template des Berichtes ändern willst?
Die TextObjekte sind die Festen Texte die du im Crystal Editor einfügst...
Wenn du das Problem mit den Zeilenumbrüchen nicht gelöst bekommst, kannst du vllt. noch die TextObjekte klonen und die Texte untereinander in verschiedene TextObjekte schreiben...

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

A
1 Beiträge seit 2011
vor 12 Jahren

vielleicht hilft es: das TextObject ist hier das falsche Element.
Nutze das Parameterfeld.