|
FormCalc innehåller ett antal genvägar som gör det lättare att använda objektegenskaper och värden och därmed att skapa referenser. I det här avsnittet beskrivs genvägarna för referenssyntaxen i FormCalc.
Aktuellt fält eller objektHänvisar till det aktuella fältet eller objektet.
Exempel$ = "Tommy Andersson"
Exemplet ovan visar hur du tilldelar det aktuella fältet eller objektet värdet Tony Blue.
Datamodellens rot, xfa.datasets.dataRepresenterar datamodellens rot, xfa.datasets.data.
Exempel$data.purchaseOrder.total
likvärdigt med
xfa.datasets.data.purchaseOrder.total
FormulärobjektshändelseRepresenterar den aktuella formulärobjektshändelsen.
FormulärmodellrotRepresenterar formulärmodellens rot, xfa.form.
Exempel $form.purchaseOrder.tax
är likvärdigt med att skriva
xfa.form.purchaseOrder.tax
VärdobjektRepresenterar värdobjektet.
Exempel $host.messageBox("Hej där")
likvärdigt med
xfa.host.messageBox("Hej där")
Mer information finns i Arbeta med ett värdprogram.
LayoutmodellrotRepresenterar layoutmodellens rot, xfa.layout.
Exempel$layout.ready
är likvärdigt med att skriva
xfa.layout.ready
Insamling av datapostRepresenterar den aktuella posten i en datasamling, t ex från en XML-fil.
Exempel$record.header.txtOrderedByCity
refererar till noden txtOrderedByCity i noden header i aktuella XML-data.
MallmodellrotRepresenterar mallmodellens rot, xfa.template.
Exempel$template.purchaseOrder.item
likvärdigt med
xfa.template.purchaseOrder.item
Datamodellens rot, xfa.datasetsRepresenterar datamodellens rot, xfa.datasets.
Exempel!data
likvärdigt med
xfa.datasets.data
Markera alla formulärobjektMarkerar alla formulärobjekt inom en given behållare, t ex ett delformulär, oavsett namn, eller markerar alla objekt med snarlika namn.
Du kan använda syntaxen ”*” (asterisk) med JavaScript om den används med metoden resolveNode.
ExempelFöljande uttryck markerar alla objekt med namnet item i ett formulär:
xfa.form.form1.item[*]
Söka efter objekt i en underordnad behållareOm du vill söka efter objekt i en behållare som är underordnad den aktuella behållaren kan du ange det med två punkter var som helst i referenssyntaxen.
Du kan använda syntaxen ”..” (dubbelpunkt) med JavaScript om den används med metoden resolveNode.
ExempelUttrycketSubform_Page..Subform2söker efter nodenSubform_Page(som vanligt) och sedan efter en nod, underordnadSubform_Pagemed namnetSubform2.
I exempelträdet ovan är
Subform_Page..TextField2
likvärdigt med
Subform_Page.Subform1[0].Subform3.TextField2[0]
eftersom TextField2[0] är i den första Subform1-nod som påträffas vid en sökning. Ytterligare ett exempel:
Subform_Page..Subform3[*]
returnerar alla fyra TextField2-objekt.
Beteckna ett namnlöst objekt eller ange en egenskapNummerteckenbeteckningen (#) används för att ange något av följande värden i en referenssyntax:
Du kan använda syntaxen ”#” (nummertecken) med JavaScript om den används med metoden resolveNode.
ExempelFöljande referenssyntax använder t.ex. ett namnlöst delformulär:
xfa.form.form1.#subform
Följande referenssyntax använder egenskapen name på ett delformulär om delformuläret också innehåller fältet name:
xfa.form.form1.#subform.#name
Ett objekts förekomstvärdeHakparentesen ([ ]) anger ett objekts förekomstvärde.
I språkspecifika formulär för arabiska, hebreiska, thailändska och vietnamesiska finns referenssyntaxen alltid till höger (även för språk som skrivs från höger till vänster).
ExempelDu refererar till ett förekomstvärde genom att sätta hakparentes ([ ]) efter ett objektnamn. Något av följande värden måste finnas i hakparentesen:
[ n ], där n är förekomstens indexnummer som ett absolut tal räknat från 0. Förekomstnummer utanför intervallet returnerar inget värde. Exempel:
xfa.form.form1.#subform.Quantity[3]
refererar till den fjärde förekomsten av objektet Quantity.
[ +/- n ], där n anger en förekomst i förhållande till förekomsten av objektet som gör referensen. Positiva värden ger högre förekomstnummer medan negativa värden ger lägre. Exempel:
xfa.form.form1.#subform.Quantity[+2]
Den här referensen avser den förekomst av Quantity vars förekomstnummer är två högre än den refererande behållarens förekomstnummer. Om det t ex var objektet Quantity[2] som gjorde referensen skulle den vara likvärdig med att skriva
xfa.template.Quantity[4]
Om det framräknade indexnumret ligger utanför intervallet returnerar referensen ett fel.
Syntaxen används oftast för att hitta föregående eller nästa förekomst av ett visst objekt. Alla förekomster av objektet utom den första kan t ex använda Quantity för att få värdet för föregående Quantity-objekt.
[*] indikerar flera förekomster av ett objekt. Det första namngivna objektet hittas och objekt med samma namn på samma nivå returneras. Observera att om du använder det här skrivsättet returneras en objektsamling. Exempel:
xfa.form.form1.#subform.Quantity[*]
Det här uttrycket refererar till alla objekt med namnet Quantity som finns på samma nivå som den första förekomsten av Quantity som referensen påträffar.
Givet exempelträdet ovan returnerar uttrycken följande objekt:
Subform_Page.Subform1[*] returnerar båda Subform1-objekten.
Subform_Page.Subform1.Subform3.TextField2[*] returnerar två TextField2-objekt.Subform_Page.Subform1 leder till det första Subform1-objektet till vänster och TextField2[*] utvärderas i förhållande till Subform3-objektet.
Subform_Page.Subform1[*].TextField1 returnerar båda TextField1-förekomsterna.Subform_Page.Subform1[*] leder till båda Subform1-objekten och TextField1 utvärderas i förhållande till Subform1-objekten.
Subform_Page.Subform1[*].Subform3.TextField2[1] returnerar det andra och det fjärde TextField2-objektet från vänster.Subform_Page.Subform1[*] leder till båda Subform1 -objekten och TextField2[1] utvärderas i förhållande till Subform3-objekten.
Subform_Page.Subform1[*].Subform3[*] returnerar båda TextField1-objekten.
Subform_Page.*returnerar både Subform1-objekten och Subform2-objektet.
Subform_Page.Subform2.*returnerar de två förekomsterna av NumericField2-objektet.
Du kan använda syntaxen ”[ ]” (hakparenteser) med JavaScript om den används med metoden resolveNode.
|
|
|