Objekte anordnen und automatisch hinzufügen

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
YveHe
Beiträge: 10
Registriert: 10.03.2009, 10:27

Objekte anordnen und automatisch hinzufügen

Beitrag von YveHe » 24.03.2009, 16:36

Hallo zusammen,

ich hoffe ihr könnt mir helfen. Zwei Probleme habe ich:

1) Ich habe ein Kontrollkästchen, rechts daneben kommt ein Textfeld, Text und wieder ein Textfeld, darunter steht noch einmal ein Textfeld. Dieses soll sich später automatisch an die Höhe des Textes anpassen und somit das Layout auch nach unten verschieben. Soweit alles kein Problem. Das ganze habe ich in eine Teilformular gesteckt. Jetzt muss ich diesem Teilformular aber sagen das es sich auch an den Textfluss anpassen muss. Sprich: Über diesem Teilformular gibt es noch andere die sich ebenfalls an die Textmenge anpassen und das Layout nach unten schieben. Sobald ich aber sage "Inhalt: Textfluss" verhaut er mein Layout in dem Sinne, dass die oben beschriebenen Felder "Kontrollkästchen - Textfeld ...." nicht mehr neben einander sind sondern unter einandern und lassen sich auch nicht mehr so hinschieben wie es mal war.

Gibt es dafür eine Lösung? Irgendwie muss das doch machbar sein, dass das Layout beibehalten wird, oder?

Mein nächstes Problem:
2) Das oben beschriebene Teilformular soll beim Anklicken immer wieder komplett darunter erscheinen. Heißt also wenn ich es anklicke erscheint darunter genau das selbe noch einmal und klickt man das wieder an kommt das nächste. Muss aber immer komplett bleiben (also immer das Kontrollkästchen, daneben die Textfelder und darunter dann noch ein Textfeld welches sich an die Höhe des Textes anpasst. Alternativ könnte ich auch mit einem Button oder sowas leben der dann diesen Bereich wiederholt.

Ich hoffe sehr das dies Möglich ist. Ich hoffe ihr könnt mir helfen :)

Vielen vielen Dank schon einmal im voraus!!

Schöne Grüße,
Yvonne

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Objekte anordnen und automatisch hinzufügen

Beitrag von FileAffairs » 24.03.2009, 17:27

Hallo YveHe,

ich hoffe ich habe den Aufbau Deines Formulars richtig verstanden. Danach solltest Du die "obere" Zeile in ein eigenes positioniertes Teilformular packen und dann um dieses und das untere Textfeld herum ein fliessendes Teilformular. Zum kopieren einfach über teilformular.instanceManager.addInstance eine neue Instanz zufügen.

Gruß
FileAffairs

Marc Humer
Beiträge: 4
Registriert: 17.03.2009, 09:45

Objekte anordnen und automatisch hinzufügen

Beitrag von Marc Humer » 26.03.2009, 11:43

Hallo Leute.

Ich habe ein sehr ähnliches Problem und im Grund FileAffairs Anregung auch verstanden.

Vorab: Meine Erfahrung mit LCD ist minimal.

Ich habe ebenfalls so ein Teilformular, bestehend aus mehreren Feldern.
Wenn ich ein Kontrollkästchen anklicke (einen Haken setze), soll unter diesem Teilformular das gleiche Formular nochmals erscheinen (also addinstance).
Und wenn dort geklickt wird, ein weiteres, usw.

Meine Frage:

Wie ist das aber mit den Eingabefeldern?
Eines der Felder heißt nun z.B. Eingabe_text
Werden die Felder beim Hinzufügen automatisch als Array angelegt, oder überschreibt das 2. Eingabe_text dann das 1.
Da ich nicht weiß, wie viele Zeilen am Ende benötigt werden, kann ich ja nicht auf Verdacht mal 50 Zeilen anlegen, das wäre reichlich kontraproduktiv

und die noch wichtigere Frage - wo und wie binde ich das addInstance ein.
Hat jemand ein kleines Beispiel für mich?

Ich hätte ja meinen Erguss angehängt, aber leider ist das mittlerweile so zerfummelt, dass wohl keiner was mit anfangen könnte - Mehr Fehlermeldungen als Felder *seufz.

Bin für jedes Beispiel und Hilfe echt dankbar.



Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Objekte anordnen und automatisch hinzufügen

Beitrag von FileAffairs » 26.03.2009, 12:01

Hallo Marc Humer,

1. jedes Hinzufügen eines gleichbenannten Feldes erhöht die Instanznummer des Feldes. Somit ist Feld + Instanz immer eindeutig.

2. addInstance fügst Du bei dem Ereignis des Elementes (Feld, Checkbox, Schaltfläche) hinzu welches das Verhalten auslösen soll. Meist jedoch bei Feldern etc. auf das exit event und bei Schaltflächen auf click.

Gruß
FileAffairs

Marc Humer
Beiträge: 4
Registriert: 17.03.2009, 09:45

Objekte anordnen und automatisch hinzufügen

Beitrag von Marc Humer » 26.03.2009, 12:32

Code: Alles auswählen

+--Klickkasten-------+
|                    |
|+--Teil1-----+      |
|| Klick1     |      |
|+------------+      |
|                    |
|+--Teil2-----+      |
|| Freitext   |      |
|+------------+      |
|                    |
+--------------------+
So schaut das im Formular aus

Könntest du dir das bitte kurz nochmal ansehen?

Und hier die click-Routine, wenn man auf die Checkbox klickt und einen Haken setzt.

Code: Alles auswählen

----- Formular1.#subform[0].DynamischerTeil.Klickkasten.Teil1.Klick1::click: - (JavaScript, Client) 

if (Klick1.rawValue == 1)
{
    Teil2.Freitext.rawValue = "";
    Teil2.Freitext.presence = "visible";
    Klickkasten.instanceManager.addInstance;
}
else
{
    Teil2.Freitext.rawValue = "";
    Teil2.Freitext.presence = "hidden";
    Klickkasten.instanceManager.removeInstance;
}
Ein und Ausblenden von Freitext klappt aber es wird kein ein neuer Klickkasten hinzugefügt (entfernt wahrscheinlich auch nicht, aber das kann ich (noch) nicht testen.

Ich habe es auch mit Formular1.#subform[0].DynamischerTeil.Klickkasten.instance...
versucht, also den kompletten Node-Baum - nix :(

Abgesehen von einer Schriftart, die ihm wohl missfällt, meldet er grundsätzlich keinen Fehler (zumindest finde ich nichts im Bericht.

Eigentlich sollte es so gehen, mit Ajax und PHP habe ich viel Erfahrung, aber hier stehe ich echt wie der Ochs vorm Berg.

Achja - und danke für die prompte Reaktion vorhin.

lg, Marc

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Objekte anordnen und automatisch hinzufügen

Beitrag von FileAffairs » 26.03.2009, 13:08

Hallo Marc Humer,

addInstance ist keine property sondern eine Methode - also addInstance(). Weiterhin muss das Formular als dynamisches PDF gespeichert werden. Am besten auch zum testen mal die JavaScript Console anschalten. Kann dann über Strg-J aufgerufen werden. Da müsstest Du eigentlich ne Fehlermeldung bekommen.

Gruß
FileAffairs

Marc Humer
Beiträge: 4
Registriert: 17.03.2009, 09:45

Objekte anordnen und automatisch hinzufügen

Beitrag von Marc Humer » 26.03.2009, 13:22

Sehr fein, vielen Dank :D

Genau das wars, hab die Klammern vergessen.

Das hinzufügen geht nun schonmal. Das entfernen noch nicht, aber ich kuck mal wie weit ich nun wieder alleine komme

YveHe
Beiträge: 10
Registriert: 10.03.2009, 10:27

Objekte anordnen und automatisch hinzufügen

Beitrag von YveHe » 16.04.2009, 10:54

Hallo zusammen,

ja auch von mir noch vielen Dank für die Hilfe, das war echt super!

Leider habe ich noch immer ein Problem mit dem Anordnen von Objekten. Es geht diesmal um ein anderes Formular in dem es einfach nicht klappen soll.

Stellt euch vor: Es gibt ein Auswahlkästchen und daneben 4 Bildern. Klickt man das Kästchen an dann geht das dritte Bild weg, dafür soll aber das vierte Bild hochrücken an die Stelle vom dritten.
Ich habe jetzt schon so viel probiert und es will einfach nicht klappen :(

1) Ich habe jedes Bild in ein eigenes Teilformular gepackt und diese dann auf Textfluss gestellt -> klappt nicht
2) Die vier Teilformulare in ein übergeordnetes Teilformular und dieses auf Textfluss gestellt, wärend die vier auf Position stehen -> Das Layout wird verhauen (sprich LC ordnet die Buttons linksbündig an und direkt unter einander), ABER von der Funktion her würde es hier klappen.

Ich weiß nicht mehr weiter. Es muss doch irgendwie möglich sein, dass das Layout beibehalten wird und der Textfluss auch berücksichtigt wird?

Ich hoffe ihr könnt mir helfen...

Viele Grüße, Yvonne

Antworten