Problem: dynamisches Inhaltsverzeichnis generieren
Problem: dynamisches Inhaltsverzeichnis generieren
Moin moin,
mein Problem besteht darin, dass ich mehrere Teilformulare auf verschiedenen Seiten habe, die ich über "pagecount" auf der Masterseite durchnummeriere.
Nun möchte ich eine Art dynamisches Inhaltsverzeichnis erstellen, also
Teilformular1 Seite 1
Teilformular2 Seite 2
Teilformular3 Seite 3
Teilformular4 Seite 4
usw (insg. 44 Seiten)
Jetzt kann es aber dur verschiedene Auswahlkriterien passieren, das jetzt mehrere Teilformulare weggelassen werden und z.B. Teilformular 4 auf Seite 2 zu finden ist.
Wie greife ich also in meinem Inhaltsverzeichnis auf die Seite der Teilformulare zu und gib die dann so aus, das im Verzeichnis genau die Seite steht, die bei dem Teilformular unten angezeigt wird?
Kennt da jemand eine Lösung?
Grüsse
Silentaxl
mein Problem besteht darin, dass ich mehrere Teilformulare auf verschiedenen Seiten habe, die ich über "pagecount" auf der Masterseite durchnummeriere.
Nun möchte ich eine Art dynamisches Inhaltsverzeichnis erstellen, also
Teilformular1 Seite 1
Teilformular2 Seite 2
Teilformular3 Seite 3
Teilformular4 Seite 4
usw (insg. 44 Seiten)
Jetzt kann es aber dur verschiedene Auswahlkriterien passieren, das jetzt mehrere Teilformulare weggelassen werden und z.B. Teilformular 4 auf Seite 2 zu finden ist.
Wie greife ich also in meinem Inhaltsverzeichnis auf die Seite der Teilformulare zu und gib die dann so aus, das im Verzeichnis genau die Seite steht, die bei dem Teilformular unten angezeigt wird?
Kennt da jemand eine Lösung?
Grüsse
Silentaxl
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo SilentAxl,
Meiner Meinung nach wäre es am einfachsten eine Schleife zu schreiben, die bei jeder Änderung im Formular ausgeführt wird und das Inhaltsverzeichniss aktualisiert.
Gruß,
Walde
Meiner Meinung nach wäre es am einfachsten eine Schleife zu schreiben, die bei jeder Änderung im Formular ausgeführt wird und das Inhaltsverzeichniss aktualisiert.
Gruß,
Walde
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo Walde,
das klingt gut, die Frage ist dann nur:
Wie greife ich auf die Seiten-Nr zu, auf der sich das entsprechende Teilformular befindet?
Gruss
Silentaxl
das klingt gut, die Frage ist dann nur:
Wie greife ich auf die Seiten-Nr zu, auf der sich das entsprechende Teilformular befindet?
Gruss
Silentaxl
Problem: dynamisches Inhaltsverzeichnis generieren
Oder hab ich deine Antwort falsch verstanden?
Meinst du das ich bei jeder Änderung, die Seitenzahlen auf diese Änderung anpassen soll?
Das wäre sehr kompliziert, weil ich ca 150 Auswahlkriterien habe...
Gruss
Silentaxl
Meinst du das ich bei jeder Änderung, die Seitenzahlen auf diese Änderung anpassen soll?
Das wäre sehr kompliziert, weil ich ca 150 Auswahlkriterien habe...
Gruss
Silentaxl
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo SilentAxl,
Vielleicht hilft Ihnen die nachfolgende Beispieldatei weiter. Diese setzt auf die angesprochene Schleife. Die Schleife kann natürlich weiter ausgebaut werden.
Gruß,
Walde
Vielleicht hilft Ihnen die nachfolgende Beispieldatei weiter. Diese setzt auf die angesprochene Schleife. Die Schleife kann natürlich weiter ausgebaut werden.
Gruß,
Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo Walde,
das ist genauso, wie ich es oben beschrieben hatte, allerdings hab ich keine Instanzen sondern rufe die Teilformulare ganz billig mit der "presence" über kontrollkästchen und dropdownmenues auf.
Aber es kann sein, das da trotzdem was drin ist, was ich brauchen kann, allerdings bin ich nicht der java script Programmierer.
könntest du mir deswegen mal diese Zeile erklären:
xfa.layout.sheet(xfa.form.resolveNode(oItem.somExpression)
ich bin mir nicht sicher, aber die könnte mir helfen.
vielen dank
Silentaxl
das ist genauso, wie ich es oben beschrieben hatte, allerdings hab ich keine Instanzen sondern rufe die Teilformulare ganz billig mit der "presence" über kontrollkästchen und dropdownmenues auf.
Aber es kann sein, das da trotzdem was drin ist, was ich brauchen kann, allerdings bin ich nicht der java script Programmierer.
könntest du mir deswegen mal diese Zeile erklären:
xfa.layout.sheet(xfa.form.resolveNode(oItem.somExpression)
ich bin mir nicht sicher, aber die könnte mir helfen.
vielen dank
Silentaxl
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo SilentAxl,
Bedeutet, dass die Seite (xfa.layout.sheet) ausgegeben wird, auf der sich das Objekt oItem befindet. oItem.somExpression stellt widerum den vollständig qualifizierten Referenzsyntax Ausdruck für das Objekt oItem dar. Einfacher ausgedrückt stellt es die genaue Koordinate des Objektes im Formular dar.
z.B.: Das Objekt oItem (oItem.name) ist Teilformular1, welches zum 5. Mal erstellt wurde und deswegen den instanceIndex 5 (Teilformular1[5]) hat. Dieses befindet sich auf der 2. Seite. Die Koordinate dazu wäre (oItem.somExpression) "xfa[0].form[0].Formular1[0].#subform[0].Teilformular1[5]". Durch das obere Skript wird die Seite auf der sich dieses Objekt befindet ermittelt und ausgegeben.
Mit einer änlichen Schleife kann man alle Seiten im Formular nach z.B. bestehenden Teilformularen durchsuchen und die Seiten ausgeben auf denen sie sich befinden. Die Suchkriterien kann man dabei selber festlegen. Z.B. kann man nach allem Suchen, was nicht versteckt ist und einen bestimmten Namen hat oder eine bestimmte Zeichenfolge enthält.
Gruß,
Walde
Code: Alles auswählen
xfa.layout.sheet(xfa.form.resolveNode(oItem.somExpression)
Bedeutet, dass die Seite (xfa.layout.sheet) ausgegeben wird, auf der sich das Objekt oItem befindet. oItem.somExpression stellt widerum den vollständig qualifizierten Referenzsyntax Ausdruck für das Objekt oItem dar. Einfacher ausgedrückt stellt es die genaue Koordinate des Objektes im Formular dar.
z.B.: Das Objekt oItem (oItem.name) ist Teilformular1, welches zum 5. Mal erstellt wurde und deswegen den instanceIndex 5 (Teilformular1[5]) hat. Dieses befindet sich auf der 2. Seite. Die Koordinate dazu wäre (oItem.somExpression) "xfa[0].form[0].Formular1[0].#subform[0].Teilformular1[5]". Durch das obere Skript wird die Seite auf der sich dieses Objekt befindet ermittelt und ausgegeben.
Mit einer änlichen Schleife kann man alle Seiten im Formular nach z.B. bestehenden Teilformularen durchsuchen und die Seiten ausgeben auf denen sie sich befinden. Die Suchkriterien kann man dabei selber festlegen. Z.B. kann man nach allem Suchen, was nicht versteckt ist und einen bestimmten Namen hat oder eine bestimmte Zeichenfolge enthält.
Gruß,
Walde
Problem: dynamisches Inhaltsverzeichnis generieren
Moin Walde,
ich glaube, das ist wirklich genau das wonach ich gesucht habe. Hervorragend.
Ich bekomm es aber dank meiner besch...eidenen Java Script Kenntnissen nicht so richtig hin.
Kannst du mir anhand der test4.pdf die Zeile vom button so ändern, dass er mir in das textfeld die Seitenzahl des Teilformulars test2 reinschreibt?
Damit rettest du mir buchstäblich mein Leben...
Grüße
Silentaxl
ich glaube, das ist wirklich genau das wonach ich gesucht habe. Hervorragend.
Ich bekomm es aber dank meiner besch...eidenen Java Script Kenntnissen nicht so richtig hin.
Kannst du mir anhand der test4.pdf die Zeile vom button so ändern, dass er mir in das textfeld die Seitenzahl des Teilformulars test2 reinschreibt?
Damit rettest du mir buchstäblich mein Leben...

Grüße
Silentaxl
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo SilentAxl,
Da in Ihrem Formular die Seiten nicht dynamisch erzeugt werden eignet sich das Objekt "page" hier am besten.
Die Vorgehensweise ist fast identisch.
Gruß,
Walde
Da in Ihrem Formular die Seiten nicht dynamisch erzeugt werden eignet sich das Objekt "page" hier am besten.
Die Vorgehensweise ist fast identisch.
Gruß,
Walde
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Problem: dynamisches Inhaltsverzeichnis generieren
Hallo Walde,
vielen Dank, das hat mir sehr weitergeholfen.
Grüße
Silentaxl
vielen Dank, das hat mir sehr weitergeholfen.
Grüße
Silentaxl