Seite 1 von 3

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 13:37
von rade17
Hallo Leute,

ich arbeite gerade an einem PDF Formular mit dem LiveCycle Designer. Ich habe aus dem Forum bereits eine Musterdatei heruntergeladen bei der es möglich war eine neue Tabelle und dazugehörige Zeilen dynamisch zu erstellen.

Bei diesem Dokument fängt die Zeilenerweiterung bei der 0. Zeile an. Jedoch möchte ich, dass diese erst bei der 2. Zeile anfängt und dazwischen zwei feste Zeilen habe. Mein Sinn dahinter ist, dass ich zwei vordefinierte Zeilen habe, die immer wieder genau so bei Generierung einer neuen Tabelle vorkommen sollen. Ich habe einfach versucht es zu in eine andere Zeile zu kopieren, was jedoch nicht funktioniert. Befindet sich die Steuerbox in der 0. Zeile, dann funktioniert sie. An einer anderen Stelle nicht.

Ich hänge mal meinen jetzigen Stand an und vielleicht kann mir dann jemand weiter helfen :)

 

Beste Grüße

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 13:59
von nele_sonntag
Das ist recht einfach umzusetzen.

Du erstellst Deine Tabelle mit 3 Zeilen. Die ersten beiden sind Deine statischen, immer vorkommenden. Und bei der dritten nimmst du all die Einstellungen vor, die in dem Musterbeispiel die erste Zeile hat.

Und auf die Du natürlich in dem Script, welches Du im Hinzufügen-Button hast, natürlich referenzieren musst.

LG Mandy

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 14:08
von nele_sonntag
So, Deins mal angesehen.

Wenn Du Dich nicht so gut damit auskennst, solltest Du vielleicht mit einer "einfachen Variante" starten. (Musterbeipiel dynamische Rechnungstabelle ist hierfür mE gut geeignet.)

Tabelle einfügen | gewünschte Anzahl Spalten | 3 Zeilen inklusive Kopfzeile | 3. Zeile markieren und unter Objekt "Zeile für jedes Datenelement wiederholen" aktivieren | Button einbauen | im Click-Ereignis Deine zu wiederholenden Zeile ansprechen

Code: Alles auswählen

Tabelle1.WIEDERHOL_ZEILE.instanceManager.addInstance(true);
Seitenteilformular auf "Textfluss" stellen. Fertig!

Das wäre schon mal die Basisvariante.

Dann gilt es zu klären, welchen Schnickschnack Du noch wirklich brauchst. Denn je mehr drin ist, was Du nicht brauchst und auch nicht verstehst, um so weniger kannst Du Dein eigenes PDF pflegen und anpassen.

LG Mandy

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 14:14
von nele_sonntag
So, ein Löschen Button ist sicherlich immer hilfreich. Dafür diesen Button auch genau in der Zeile platzieren und folgenden Code hinzufügen. Sollte Deine Zeile anders heißen, natürlich den Namen anpassen.

Um zwei Button in einer Spalte in einer Zelle platzieren zu könne, ziehst du in die Zelle einfach ein Teilformular.

Code: Alles auswählen

_WIEDERHOL_ZEILE.removeInstance(WIEDERHOL_ZEILE.index);
xfa.form.recalculate(1);
LG Mandy

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 14:50
von nele_sonntag
Hallo rade,
noch mal zu Deinem PDF, welches im Übrigen noch einen Haufen andere Fehler wirft.

Es kann natürlich nicht funktioneren, weil Du die Grundvorausetzungen nicht erfüllst. Die zu wiederholende Zeile benötigt quasi die Erlaubnis sich wiederholen zu dürfen, sie oben "Zeile[2] markieren und unter Objekt "Zeile für jedes Datenelement wiederholen" aktivieren"

Und dann musst Du natürlich in dem Button dem Programm auch sagen, welche Zeile du wiederholen möchtest. In Deinem Button steht.

Code: Alles auswählen

Zeile.instanceManager.insertInstance(Zeile.index + 1, 0) ;
So heißt aber Deine Zeile nicht!! Zeile ist hier der Name dessen, was Du instanziieren möchtest. Nennst Du Deine Zeile bspw. WiederholZeile und änderst das auch entsprechend im Skript, so funktioniert es...bis auf die vielen anderen Fehler. ;-)

Dann tauchen noch andere Fehler auf, mit Objekten, die ihm unbekannt sind...

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 14:55
von rade17
Wow danke! Hast mir echt geholfen. Werde mich mal weiter reinfuchsen um das alles so richtig zu verstehen.

Die ganzen Fehler sind bestimmt, weil ich da an einem Musterbeispiel angefangen habe und alles nur weiter hingepfuscht.

Und darf ich dich eigentlich wieder mal um Hilfe bitten, wenn ich nicht weiter weiß? :D

Danke aufjedenfall!

Beste grüße

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 07.02.2014, 16:49
von nele_sonntag
Sicher. :) Kannst jederzeit nachfragen. Es ist wirklich besser, sich alles Stück für Stück aufzubauen, nachzufragen, was der Code warum wann tut, damit Du auch verstehst, warum etwas wo steht..

Ich dachte mir schon, dass das evtl. Überbleibsel aus dem Original-PDF sind. ;-)

LG Mandy

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 10.02.2014, 12:14
von rade17
Hey, ich bins wieder :)

Ich wollte jetzt mal komplett alles neu erstellen. Habe deine Tipps angenommen und nun das so gemacht wie du beschrieben hast... Irgendwie funktionieren die Javascripts nicht, sprich der Button zum Addieren bzw. subtrahieren von Zeilen oder Tabellen.

Habe den Zeilennamen drin und auch die Berechtigung zum wiederholeng gegeben. Es ist auch exakt so wie in der Datei, wo es funktioniert. Nur tut die neue nicht das was sie soll :((

 

liebe grüße

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 10.02.2014, 14:33
von nele_sonntag
..nun ja..als staisches PDF zu speichern ist eher ungünstig. :)

Dynamische Tabelle mit versetzter Zeilenerweiterung

Verfasst: 10.02.2014, 15:03
von rade17
Hab jetzt alles hinbekommen wie ich möchte! Das letzte Problem was ich habe ist, dass ich ja 3 Zeilen habe. Die Tabelle kann mit allen Zeilen per + dupliziert werden. Die letzte Zeile kann auch dupliziert werden. Mein Problem jetzt ist, dass ich die 2. Zeile auch duplizieren möchte wobei aber die 3. Zeile dann auch mitgenommen wird. hier ein Beispiel:

Tabelle + -
Zeile1
Zeile2 + -   <--- Klick +
Zeile3 + -
Zeile2 + -
Zeile3 + -

so soll es sein...
es ist aber so...

Tabelle + -
Zeile1
Zeile2 + -   <--- Klick +
Zeile2 + -
Zeile3 + -

Habe auch schon versucht die Zeile 2 und 3 zu einer Untertabelle zu gruppieren, ging irgendwie nur halb, da ich dann nachdem ich einmal zeile 2 dupliziert habe, zeile 3 nicht mehr duplizieren konnte :/ Verzweiflung :(

liebe grüße