In dit voorbeeld ziet u hoe u de methoden van Instance Manager (onderdeel van het XML-formulierobjectmodel) gebruikt om bewerkingen op subformulierobjecten uit te voeren bij uitvoering Zo kunt u bijvoorbeeld exemplaren van een bepaald subformulier, of een bepaalde tabel of rij toevoegen of verwijderen.
In het volgende formulier kan de invuller de verschillende Instance Manager-scriptmethoden toepassen met behulp van de vier knoppen. Als de invuller bijvoorbeeld op de knop Toevoegen klikt, wordt er een Subform2-exemplaar aan het formulier toegevoegd.
Opmerking: met de knop Verplaatsen kunt u de eerste twee Subform2-exemplaren verschuiven en met de knop Instellen geeft u het maximum aantal toestane Subform2-exemplaren weer. In beide gevallen is het wellicht nodig om subformulieren toe te voegen of te verwijderen, of moet u de gegevens in de tekstvelden aanpassen om de wijzigingen in de Subform2-exemplaren weer te geven.
Een script maken om te bepalen of een formulier het maximum aantal subformulieren bevat
Met het volgende script kunt u bepalen of het ondersteunde maximum aantal Subform2-exemplaren aan het formulier is toegevoegd. Als dit het geval is, wordt er een bericht weergegeven. Anders wordt er een Subform2-exemplaar aan het formulier toegevoegd.
if (methods.Subform2.instanceManager.count ==
methods.Subform2.instanceManager.max) {
xfa.host.messageBox("You have reached the maximum number of items allowed.",
"Instance Manager Methods", 1);
}
else {
methods.Subform2.instanceManager.addInstance(1);
xfa.form.recalculate(1);
}
U kunt in dit script ook een liggend streepje (_) gebruiken om naar de eigenschappen en methoden van Instance Manager te verwijzen, zoals u hier ziet:
if (methods._Subform2.count == methods._Subform1.max) {
xfa.host.messageBox("You have reached the maximum number of items
allowed.", "Instance Manager Methods", 1);
}
else {
methods._Subform2.addInstance(1);
xfa.form.recalculate(1);
}
Een script maken om te bepalen of er meer subformulieren van het formulier kunnen worden verwijderd
Met het volgende script wordt bepaald of er Subform2-exemplaren op het formulier voorkomen. Als dit niet het geval is, wordt hiervan melding gemaakt in een bericht. Zijn er wel Subform2-exemplaren, dan wordt het eerste exemplaar van het formulier verwijderd.
if (methods.Subform2.instanceManager.count == 0) {
xfa.host.messageBox("There are no subform instances to remove.",
"Instance Manager Methods", 1);
}
else {
methods.Subform2.instanceManager.removeInstance(0);
xfa.form.recalculate(1);
}
U kunt in dit script ook een liggend streepje (_) gebruiken om naar de eigenschappen en methoden van Instance Manager te verwijzen, zoals u hier ziet:
if (methods._Subform2.count == 0) {
xfa.host.messageBox("There are no subform instances to remove.",
"Instance Manager Methods", 1);
}
else {
methods._Subform2.removeInstance(0);
xfa.form.recalculate(1);
}
Een script maken om vier subformulierexemplaren op het formulier weer te geven
Met het volgende script worden er vier Subform2-exemplaren op het formulier weergegeven, ongeacht hoeveel exemplaren er al zijn:
methods.Subform2.instanceManager.setInstances(4);
U kunt in dit script ook een liggend streepje (_) gebruiken om naar de eigenschappen en methoden van Instance Manager te verwijzen, zoals u hier ziet:
methoden._Subform2.setInstances(4);
Een script maken om het eerste en tweede subformulier van plaats te laten wisselen op het formulier
Met het volgende script wisselen het eerste en het tweede Subform2-exemplaar van plaats op het formulier.
methods.Subform2.instanceManager.moveInstance(0,1);
U kunt in dit script ook een liggend streepje (_) gebruiken om naar de eigenschappen en methoden van Instance Manager te verwijzen, zoals u hier ziet:
methoden._Subform2.moveInstance(0,1);