Problem: dynamisches Inhaltsverzeichnis generieren

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 12.01.2010, 11:35

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





walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von walde » 13.01.2010, 10:07

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

Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 13.01.2010, 10:24

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

Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 13.01.2010, 10:31

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

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von walde » 13.01.2010, 11:06

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 13.01.2010, 15:20

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



walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von walde » 13.01.2010, 22:23

Hallo SilentAxl,

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


Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 14.01.2010, 08:18

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

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von walde » 14.01.2010, 10:26

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
SilentAxl
Beiträge: 42
Registriert: 12.10.2009, 14:37

Problem: dynamisches Inhaltsverzeichnis generieren

Beitrag von SilentAxl » 14.01.2010, 11:04

Hallo Walde,

vielen Dank, das hat mir sehr weitergeholfen.

Grüße

Silentaxl

Antworten