Seite 1 von 1

Ein- und Ausblenden von Objekten der Masterseite

Verfasst: 16.07.2011, 15:10
von Excel*lent
Moin, ich fürchte fast, mein erstes post ist im Nirwana verschwunden. Kann es jedenfalls nicht finden. Deshalb vorsichtshalber noch einmal (vorsorglich schon einmal sorry an den Moderator).
Ich möchte in meinem Formular Objekte, die auf der Masteseite platziert sind, je nach Bedarf ein- und ausblenden. Das Form hat insgesamt 8 Seiten (+ Master), deren presence nur für jeweils1 Seite auf "visible", für alle anderen auf "hidden" gesetzt ist.

Für "hidden" habe ich das Klick - Ereignis eines Buttons mit folgendem Code versehen:

/* Kopfzeile */
    xfa.resolveNode("Formular01.#pageSet[0].Master01.sufoKopf.tbKopf").presence = "hidden";
/* Button für Formularauswahl */
    xfa.resolveNode("Formular01.#pageSet[0].Master01.sfReset").presence = "hidden";
    xfa.resolveNode("Formular01.#pageSet[0].Master01.sfDrucken").presence = "hidden";

Anm.:
sufoKopf.tbKopf = Tabelle im Subform mit Kopfzeile
sfReset, sfDrucken = Schaltflächen

Das klappt ganz gut - allerdings nur 1x im DocReady - Ereignis des Hauptformulars. Danach sind alle Klicks wirkungslos. Die Referenz der Objekte scheint somit in Ordnung zu sein. Der Debugger liefert keine Fehlermeldungen. Vermutlich ist das Klick - Ereignis ungeeignet.

Hat irgendjemand eine Idee?
Gruß
 Excel*lent

Ein- und Ausblenden von Objekten der Masterseite

Verfasst: 18.07.2011, 15:39
von armine
Hallo Excel*lent,

hat das PDF die gewünschte Funktionalität?

vg armine

Ein- und Ausblenden von Objekten der Masterseite

Verfasst: 18.07.2011, 18:25
von Excel*lent
Moin Armine :D,
hat ja doch noch jemand geantwortet. Vielen Dank. Im Beispiel - Dokument hast du mit Optionsfeldern Objekte auf einem Teilformular un/sichtbar gemacht.
Ich brauche es genau umgekehrt. Da ich mit meinem Formular am Wochenende nicht weiter kam und heute eine Präsentation angesagt war, habe ich mir geholfen, indem ich auf Masterseiten (bis auf 1, logisch) verzichtet habe. Das hat den Aufwand und das Dokument natürlich unnütz aufgeplustert, war aber vermutlich nicht anders zu lösen.
Gleichwohl besteht das Problem ja grundsätzlich weiter. Anliegend mal das ursprüngliche Formular (mit variablen Objekten auf der Masterseite). Vielleicht fällt dir ja was dazu ein.
Schon mal danke im Voraus für deine Mühe.
Gruß
 Excel*lent

Ein- und Ausblenden von Objekten der Masterseite

Verfasst: 20.07.2011, 09:52
von armine
Hallo  Excel*lent,
du bist scheinbar nicht der Erste, der in dieser Suppe umrührt – und jetzt habe ich auch meine Finger drin.
Am Anfang waren die Grundrechenarten. Acht Knöpfe mit Seitenaufrufen und die Seite mit den Knöpfen – äh …, das sind zusammen, äh …, jedenfalls nicht acht? Ach so, da werden nicht nur komplette Seiten in der Anzeige ausgewechselt? Auf der ersten Seite nach dem ersten Aufruf auch der gesamte Inhalt?  Meinetwegen, aber nicht bei mir, da scheint mir das Gezerre doch zu groß.
Acht Knöpfe mit weitgehend gleichem Inhalt, das schreit doch nach einer Funktion. Also kopiere ich aus einem Knopf und versuche daraus eine Funktion zu machen. Pustekuchen! Die läuft nicht. Also kommentiere ich das mit dem Beschreiben von Header und Footer aus, der Knopf, trägt nichts mehr dazu bei und in der Anzeige ist trotzdem etwas zu sehen? Beim Nachschauen in der XML-Quelle finde ich eine Funktion die Header und Footer füllt, toll. Und gleich noch eine, die nur das Datum in den Header schreibt? Nun Syntaxprüfung meiner Funktion und ich finde eine farbig unterlegte Zeile fernab von meiner Funktion? Das war das Ende meiner Versuche, mit deiner Datei weiter zu kommen. Nun dient sie nur noch zum Herauskopieren von Objekten.
Frisch von vorne: Neue Datei, neues Glück! Seiten vervielfacht bis es neun waren, jede mit einem Textfeld, das mir sagt, wer parent ist. Funktion eingefügt und soweit – so gut. Zu Testzwecken brauche ich aber ein paar Seiten. Deine Seite01 aufgelöst in zwei Seiten? Aus dem Steinbruch kopiere ich mir das Zeug. Schau mal, wie wenige Teilformulare geblieben sind. Wegen neuer Datei gibt es nun einen Heftrand, damit der Locher nicht in empfindliche Teile beißt und deswegen weniger Platz. Wenn du also nach Prüfung die Verweise auf parent löscht und deine Seiten einfügst, dann kannst du auch etwas für’s Layout tun.
Bleibt nur noch ein Problem: Wie verstecke ich Elemente auf Master01 bei Bedarf? Kurzum, da bin ich kläglich gescheitert. Header und Footer zu schreiben geht, presence greift nicht, auch nicht bei Knöpfen. Wat nu?
Mein Workaround: Schreibe auf Master01 was du willst und lasse das jemanden auf der Masterseite regeln, der ist näher dran als ich mit meiner Funktion. Drei Dinge werden manchmal ausgeblendet, da müssen drei Felder her, denen ich meine Absichten kund tue und jemand der das dann regelt. Der war mit einem Teilformular um die beiden Knöpfe auf der Masterseite schnell gefunden und da macht es auch nichts, sich auch noch des Headers anzunehmen.
Puhh.
Noch einige Anmerkungen:
Wenn bei Feldern die Ecken gerundet werden, sollte man nicht die ganze Zeile farbig unterlegen, sondern nur die einzelnen Felder. Die Unterlegung blitzt sonst an den Ecken heraus.
Auf Seite02 gibt es Datenübernahme. Quelle und Ziel waren in einem Fall gleichnamig und auf global gesetzt. Deine Variablennamen waren mit da heilig, lediglich beim Ziel im Header habe ich neue vergeben und die sind global, damit sie auf allen Seiten verfügbar sind.
Wenn du schon Eingaben umranden musst, dann lasse die seitlichen Einzüge weg, damit die Seite nicht wie von Motten befallen daher kommt.
Wenn fette Ränder dem besseren Verständnis dienen sollen, dann mach den Rahmen / die Tabelle um die Linienstärke schmäler und rücke das Zeug um die halbe Linienstärke ein. Da bleibt dann alles in einer Flucht.
Auch das Löschen der Ränder (Margin) trägt oft zu einem gelungenen Aussehen einer Seite bei. Ränder nur da (z.B. innerhalb von Rahmen), wo sie sinnvoll sind.
Es gibt bestimmt noch mehr zu meckern, aber mit fällt gerade nichts ein, außer dass du deine Bildchen noch in Form bringst, bevor du sie endgültig importierst.
Nimm bitte mein Gesülze nicht krumm, mach lieber ein sauberes Formular
vg armine

Ein- und Ausblenden von Objekten der Masterseite

Verfasst: 20.07.2011, 19:12
von Excel*lent
Moin, jetzt aber mal halb lang! Mein Problem war das Ein- und Ausblenden der Kopfzeile sowie der Buttons, die auf der Masterseite platziert waren. Ich habe keine Fragen zum Design oder Layout gestellt. Dazu ist dieses Board ja auch ungeeignet. Ich habe übrigens das Gleiche getan wie du: Neue Datei, Kopieren und neu codieren. Inzwischen klappt' s ganz gut.
Ich werde mir dein Form gleich ansehen und wenn ich dazu Fragen haben sollte, melde ich mich in der Hoffnung, dass du dann einen besseren Tag erwischt hast.
(Ich hatte übrigens eine Beispieldatei angelegt, aus der der Problem sichtbar wird. Versehentlich habe ich die nicht mehr aktuelle Arbeitdatei (9, statt 8 Seiten) hochgeladen - sorry).
Gruß
Excel*lent