globale Variablen verlieren Referenz nach relayout() - ReferenceError
Verfasst: 20.02.2018, 15:42
Hallo zusammen,
ich muss beim Drucken über eine DialogBox entscheiden, ob ich das Formular mit Kommentaren (extra Teilbereiche) oder ohne drucken möchte.
Angenommen, ich möchte mit Kommentaren drucken:
Ich blende im PrePrint-Event die entsprechenden Teilbereiche ein und blende sie im PostPrint-Event wieder aus.
Im Click-Event der Drucken-Schaltfläche führe ich den Druckbefehl aus. Der Befehl
passt mir aber nicht, da ich mit numPages nicht die korrekte Seitenzahl erhalte (Teilbereiche wurden im PrePrint eingeblendet und es sind jetzt 4 Seiten mehr).
Deshalb würde ich im PrePrint-Event nach dem Einblenden einen durchführen, um dann mit die "neue" korrekte Seitenzahl zu bekommen.
Zusätzlich würde ich den Wert einer globalen Variable zuweisen, um ihn im click-Event beim Drucken zu verwenden.
Leider verlieren die globalen Variablen im PrePrint-Event nach dem relayout() ihre Referenz, sodass ich den Wert der Seitenzahl nicht zuweisen kann.
Ohne relayout() kann ich die Variable ansprechen, allerdings erhalte ich dann bei pageCount() wieder die falsche Seitenzahl.
Die globale Variable benötige ich aber, um dem Druckbefehl die korrekte Seitenzahl mitzugeben.
Iwie bin ich hier festgefahren.
Es wäre super, wenn mir hier jemand helfen könnte. Besten Dank!
ich muss beim Drucken über eine DialogBox entscheiden, ob ich das Formular mit Kommentaren (extra Teilbereiche) oder ohne drucken möchte.
Angenommen, ich möchte mit Kommentaren drucken:
Ich blende im PrePrint-Event die entsprechenden Teilbereiche ein und blende sie im PostPrint-Event wieder aus.
Im Click-Event der Drucken-Schaltfläche führe ich den Druckbefehl aus. Der Befehl
Code: Alles auswählen
xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 0, 0, 0, 0);
Deshalb würde ich im PrePrint-Event nach dem Einblenden einen
Code: Alles auswählen
xfa.layout.relayout()
Code: Alles auswählen
xfa.layout.pageCount()
Zusätzlich würde ich den Wert einer globalen Variable zuweisen, um ihn im click-Event beim Drucken zu verwenden.
Code: Alles auswählen
xfa.host.print(1, "0", (globale Variable).toString(), 0, 0, 0, 0, 0);
Ohne relayout() kann ich die Variable ansprechen, allerdings erhalte ich dann bei pageCount() wieder die falsche Seitenzahl.
Die globale Variable benötige ich aber, um dem Druckbefehl die korrekte Seitenzahl mitzugeben.
Iwie bin ich hier festgefahren.
Es wäre super, wenn mir hier jemand helfen könnte. Besten Dank!