|
Om gemakkelijker toegang te krijgen tot objecteigenschappen en waarden, maakt FormCalc gebruik van snelkoppelingen. U kunt dan met minder moeite verwijzingen maken. Deze sectie beschrijft snelle methoden voor de verwijzingssyntaxis voor FormCalc.
Huidig veld of objectVerwijst naar het huidige veld of object
Voorbeeld$ = "Tony Blue"
In het bovenstaande voorbeeld wordt de waarde van het huidige veld of object ingesteld op Tony Blue.
Basis gegevensmodel van xfa.datasets.dataDe basis van het gegevensmodel xfa.datasets.data.
Voorbeeld$data.purchaseOrder.total
is gelijk aan
xfa.datasets.data.purchaseOrder.total
Objectgebeurtenis in het formulierDe huidige objectgebeurtenis in het formulier.
Basis formuliermodelDe basis van het formuliermodel xfa.form.
Voorbeeld $form.purchaseOrder.tax
is gelijk aan
xfa.form.purchaseOrder.tax
HostobjectHet hostobject.
Voorbeeld $host.messageBox("Hello world")
is gelijk aan
xfa.host.messageBox("Hello world")
Zie Werken met een hosttoepassing voor meer informatie.
Basis indelingsmodelDe basis van het indelingsmodel xfa.layout.
Voorbeeld$layout.ready
is gelijk aan
xfa.layout.ready
Verzameling van gegevensrecordDe huidige record in een gegevensverzameling, zoals van een XML-bestand.
Voorbeeld$record.header.txtOrderedByCity
verwijst naar het knooppunt txtOrderedByCity in het knooppunt header van de huidige XML-gegevens.
Basis sjabloonmodelDe basis van het sjabloonmodel xfa.template.
Voorbeeld$template.purchaseOrder.item
is gelijk aan
xfa.template.purchaseOrder.item
Basis gegevensmodel van xfa.datasetsDe basis van het gegevensmodel xfa.datasets.
Voorbeeld!data
is gelijk aan
xfa.datasets.data
Alle formulierobjecten selecterenHiermee worden ofwel alle formulierobjecten in een bepaalde container geselecteerd, zoals een subformulier, ongeacht de naam, ofwel alle objecten met een vergelijkbare naam.
U kunt de syntaxis met ‘*’ (sterretje) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.
VoorbeeldMet de volgende expressie worden bijvoorbeeld alle objecten met de naam item geselecteerd in een formulier:
xfa.form.form1.item[*]
Zoeken naar objecten die deel uitmaken van een subcontainerAls u twee puntjes gebruikt, kunt u op een willekeurig punt in de verwijzingssyntaxis zoeken naar objecten die deel uitmaken van een subcontainer van het huidige containerobject, zoals een subformulier.
U kunt de syntaxis met ‘..’ U kunt de syntaxis met (twee puntjes) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.
VoorbeeldDe expressieSubform_Page..Subform2betekent: zoek het knooppuntSubform_Page(zoals gewoonlijk) en zoek een afstammeling vanSubform_Page met de naam Subform2.
Met de bovenstaande voorbeeldstructuur is
Subform_Page..TextField2
is gelijk aan
Subform_Page.Subform1[0].Subform3.TextField2[0]
omdat TextField2[0] zich in het eerste Subform1-knooppunt bevindt dat bij het zoeken door FormCalc wordt aangetroffen. Met een tweede voorbeeld:
Subform_Page..Subform3[*]
worden alle vier de objecten van Tekstveld2 geretourneerd.
Naar een naamloos object verwijzen of een eigenschap opgevenMet het hekje (#) kunt u verwijzen naar een van de volgende items in een verwijzingssyntaxis:
U kunt de syntaxis met ‘#’ (hekje) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.
VoorbeeldDe volgende verwijzingssyntaxis geeft toegang tot een naamloos subformulier:
xfa.form.form1.#subformulier
De volgende verwijzingssyntaxis geeft toegang tot de eigenschap name van een subformulier, als het subformulier ook een veld bevat met de naam name:
xfa.form.form1.#subform.#name
Voorvalwaarde van een objectMet de rechte haken ([ ]) verwijst u naar de voorvalwaarde van een object.
In taalspecifieke formulieren voor Arabisch, Hebreeuws, Thais en Vietnamees bevindt de verwijzingssyntaxis zich altijd aan de rechterkant (zelfs voor talen die van rechts naar links worden geschreven).
VoorbeeldAls u een verwijzing naar een voorvalwaarde wilt opnemen, plaatst u rechte haken ([ ]) achter de naam van een object en plaatst u een van de volgende waarden binnen de haken:
[ n ], waarbij n een absoluut voorvalindexnummer is dat begint bij 0. Als een voorvalwaarde wordt gebruikt die buiten het bereik valt, wordt geen waarde geretourneerd. Bijvoorbeeld,
xfa.form.form1.#subform.Quantity[3]
verwijst naar het vierde exemplaar van het object Quantity.
[ +/- n ], waarbij n naar een exemplaar verwijst dat voor of na het object valt dat de verwijzing maakt. Een positieve waarde geeft een hogere voorvalwaarde en een negatieve waarde geeft een lagere voorvalwaarde. Bijvoorbeeld,
xfa.form.form1.#subform.Quantity[+2]
Met deze verwijzing haalt u het exemplaar op van Quantity dat een indexnummer heeft dat twee hoger is dan het indexnummer van de container die de verwijzing maakt. Als deze verwijzing bijvoorbeeld is gekoppeld aan het object Quantity[2], is de verwijzing gelijk aan
xfa.template.Quantity[4]
Als het berekende indexnummer buiten het bereik valt, wordt een fout geretourneerd door de verwijzing.
Deze syntaxis wordt het meest gebruikt om te zoeken naar het vorige of volgende exemplaar van een bepaald object. Zo kunt u voor elk exemplaar van het object Quantity (behalve het eerste) met Quantity[-1] de waarde van het vorige Quantity-object ophalen.
[*] verwijst naar meerdere exemplaren van een object. Het eerste genoemde object wordt gevonden en de objecten met dezelfde naam die gelijksoortige versies van het eerste object zijn, worden in het resultaat opgenomen. Met deze notatie wordt een verzameling objecten geretourneerd. Bijvoorbeeld,
xfa.form.form1.#subform.Quantity[*]
Met deze expressie wordt verwezen naar alle objecten met de naam Quantity die gelijksoortige versies zijn van het eerste exemplaar van Quantity dat door de verwijzing wordt aangetroffen.
Met de verwijzingenstructuur worden de volgende objecten door deze expressies geretourneerd:
Met Subform_Page.Subform1[*] worden beide Subform1-objecten geretourneerd.
Met Subform_Page.Subform1.Subform3.TextField2[*] worden twee TextField2-objecten geretourneerd.Subform_Page.Subform1 resulteert in het eerste Subform1-object aan de linkerkant en TextField2[*] wordt verwerkt in relatie tot het object Subform3.
Met Subform_Page.Subform1[*].TextField1 worden beide TextField1-instanties geretourneerd.Subform_Page.Subform1[*] resulteert in beide Subform1-objecten en TextField1 wordt verwerkt in relatie tot de Subform1-objecten.
Met Subform_Page.Subform1[*].Subform3.TextField2[1] wordt het tweede en vierde TextField2-object vanaf de linkerkant geretourneerd.Subform_Page.Subform1[*] resulteert in beide Subform1-objecten en TextField2[1] wordt verwerkt in relatie tot de Subform3-objecten.
Met Subform_Page.Subform1[*].Subform3[*] worden beide instanties van het object Subform3 geretourneerd.
Subform_Page.Met * worden beide Subform1-objecten en het object Subform2 geretourneerd.
Subform_Page.Subform2.Met * worden de twee exemplaren van het object NumericField2 geretourneerd.
U kunt de syntaxis met ‘ [ ]’ (rechte haken) gebruiken met JavaScript als het wordt gebruikt met de methode resolveNode.
|
|
|