Livecycle eg hide show objects Objekte ein  und ausblenden
Der Formularbenutzer kann mit den Dropdown-Listen im Bereich „Präsenzwerte“ Objekte ein- oder ausblenden. In der folgenden Abbildung ist das Feld „Adresse“ ausgeblendet und das Formularlayout entsprechend angepasst. Die Schaltfläche „Formular drucken“ ist ebenfalls nicht sichtbar.
Livecycle eg hide show objects2 Objekte ein  und ausblenden
Das Skript für die Präsenzwerte der Teilformulare enthält eine switch-Anweisung zur Steuerung der drei Präsenzoptionen, die ein Formularbenutzer dem Teilformularobjekt zuweisen kann:
case ‘Invisible’:
Subform1.presence =”invisible”;
break;
case ‘Hidden (Exclude from Layout)’:
Subform1.presence =”hidden”;
break;
default:
Subform1.presence =”visible”;
break;
}
var nSubLength = Subform1.nodes.length;
var sSelectField = fieldList.rawValue;
Im folgenden Skript werden mit der Methode replace alle Leerzeichen aus dem in der Variablen sSelectField gespeicherten Namen des Feldes entfernt. Dies bewirkt, dass der Wert der Dropdown-Liste nun mit dem Namen des Objekts in der Palette „Hierarchie“ übereinstimmt:
sSelectField = sSelectField.replace(‘ ‘, ”);
for (var nCount = 0; nCount < nSubLength; nCount++) {
Wenn das aktuelle Objekt in Subform1 dem Typ field angehört und denselben Namen wie das Objekt hat, welches der Formularbenutzer ausgewählt hat, wird Folgendes ausgeführt:
if ((Subform1.nodes.item(nCount).className == “field”) & (Subform1.nodes.item(nCount).name == sSelectField)) {
switch(xfa.event.newText) {
case ‘Invisible’:
Subform1.nodes.item(nCount).presence = “invisible”;
break;
case ‘Hidden (Exclude from Layout)’:
Subform1.nodes.item(nCount).presence = “hidden”;
break;
default:
Subform1.nodes.item(nCount).presence = “visible”;
break;
}
}
}
var nSubLength = Subform1.nodes.length;
var sSelectButton = buttonList.rawValue;
Im folgenden Skript werden mit der Methode replace alle Leerzeichen aus dem in der Variablen sSelectField gespeicherten Namen der Schaltfläche entfernt. Dies bewirkt, dass der Wert der Dropdown-Liste nun mit dem Namen des Objekts in der Palette „Hierarchie“ übereinstimmt:
sSelectButton = sSelecButton.replace(/\s/g, ”);
for (var nCount = 0; nCount < nSubLength; nCount++) {
Wenn das aktuelle Objekt in Subform1 dem Typ field angehört und denselben Namen wie das Objekt hat, welches der Formularbenutzer ausgewählt hat, wird Folgendes ausgeführt:
if ((Subform1.nodes.item(nCount).className == “field”) &
Subform1.nodes.item(nCount).name == sSelectButton)) {
Dieses Skript enthält eine switch-Anweisung zur Steuerung der fünf Präsenzoptionen, die ein Formularbenutzer den Schaltflächenobjekten zuweisen kann.
switch(xfa.event.newText) {
case ‘Invisible’:
Subform1.nodes.item(nCount).presence = “invisible”;
break;
case ‘Hidden (Exclude from Layout)’:
Subform1.nodes.item(nCount).presence = “hidden”;
break;
case ‘Visible (but Don\’t Print)’:
Subform1.nodes.item(nCount).presence = “visible”;
Subform1.nodes.item(nCount).relevant = “-print”;
break;
case ‘Invisible (but Print Anyway)’:
Subform1.nodes.item(nCount).presence = “invisible”;
Subform1.nodes.item(nCount).relevant = “+print”;
break;
default:
Subform1.nodes.item(nCount).presence = “visible”;
break;
}
}
}
Sämtliche Dropdown-Listen können mit der Methode resetData auf ihre Standardwerte zurückgesetzt werden:
xfa.host.resetData();
Führen Sie den Formularentwurf und die Formulardaten mit der Methode remerge erneut zusammen. In diesem Beispiel stellt die Methode die Objekte im Bereich „Formularobjekte“ in ihrem Originalzustand wieder her.
xfa.form.remerge();

Objekte ein- und ausblenden