Hallo,
ich habe ein Textfeld das beliebig viele Zeilen haben kann.
Im Designer habe ich das Feld z.B. mit ca. 3 Zeilen hoch gezogen.
Wie schaffe ich es, dass sich das Feld automatisch vergrößert ?
das Feld habe ich mittels
LlDefineVariableExt(njob, “Text”, cText, LL_TEXT, 0)
bzw.
LlDefineVariableExt(njob, “Text”, cText, LL_TEXT_ALLOW_WORDWRAP, 0)
hinzugefügt.Leider bleibt es bei der Höhe wie ich das im Designer definiert habe.
Textobjekte können in LL nicht wachsen, nur schrumpfen. Also einfach das Objekt so groß wie maximal benötigt aufziehen. Wenn Du dahinter weitere Texte ausgeben willst könnte eine Tabelle mit freiem Inhalt die bessere Wahl sein: die passt ihre Größe automatisch an (innerhalb des Berichtscontainers) und funktioniert auch über mehrere Seiten problemlos.
nehmen wir mal an, dass der Benutzer über meine Software einen Brief erstellen kann.
Dieser Brief soll dann über List & Label ausgegeben werden.
d.h. der Benutzer kann dann maximal 30 oder 40 Zeilen ausgeben und wenn er mehr eingibt wird es einfach abgeschnitten ?
Bei meinen Benutzern könnte es auch sein, dass eine Seite nicht genügt und der Text über mehrere Seiten geht…
Hast Du meine Antwort ganz gelesen ? Schau Dir mal in der Beispielanwendung z.B. das Projekt “Rechnung mit Anschreiben” an, da wird genau sowas umgesetzt.
Hallo,
ich verstehe das nicht
- ich habe die Beispielanwendung geöffnet - hier den Bericht “Beispielanwendung/Brief.brf”
Wenn ich hier den Text verlängere, funktioniert der Umbruch.
Zurück in meinem Bericht (im lst-Format) funktioniert das nicht.
1.) es wird ausgegeben “Seite 1 von 0”
2.) der Text wird nicht erweitert
kannst du mir einen TIpp geben ?
Danke
Das klingt nach einem Fehler im Code. Machst Du die Druckschleife selber? Beachtest Du den Rückgabewert aller APIs? Hast Du mal ins Debug-Log geschaut?
Hallo,
ich glaube eigentlich nicht dass es am Code liegt. In einer anderen Liste klappt der Code gut.
Wie wird denn das Feld so eingestellt, dass dieses Feld automatisch erweitert/vergrößert wird ?
Ich habe es trotz Beispielanwendung leider nicht verstanden.
Welche Einstellung muss vorgenommen werden ?
Danke
Hallo,
gibt es denn da keinen Tipp?
Ich hätte eigentlich gedacht, dass das Problem in 5 Minuten gelöst ist - jetzt ist mein Problem nach fast einer Woche immer noch ungelöst
Wie schon oben geschrieben können die Textobjekte nicht wachsen, die Größe muss man so groß wie maximal benötigt aufziehen.
Was den Seitenumbruch angeht, in unserem Brief Beispiel ist es ein “Formatiertes Text” Objekt, damit der Umbruch auch ausgelöst wird muss die Eigenschaft “Seitenumbruch” vom Objekt auf “True” stehen.
Wenn dies alles der Fall ist, dann wird wie schon von Günther Schwarze geschrieben, nicht korrekt auf die Rückgabewerte der API´s reagiert.
An dieser Stelle würde ich dann gerne auf unsere Sourcecode Beispiele verweisen, dort sind diverse Beispiele hinterlegt welche eine eigene Druckschleife verwenden.
Hallo,
nachdem ich sehr viel Zeit investiert habe, habe ich festgestellt, dass es an folgenden Befehl liegt:
LlDbAddTable
Wenn dieser Befehl ausgeführt wird, wird der Seitenumbruch nicht mehr durchgeführt.
Entferne ich den Befehl funktioniert die Ausgabe
Das führt mich wieder dazu, dass ich denke, dass Du nicht alle Rückgabewerte richtig auswertest. LlDbAddTable
schaltet in den Berichtscontainermodus, dann gibt es neu LL_WRN_TABLECHANGE zu berücksichtigen. Ein Logfile würde mehr als 1000 Worte sagen .