|
Para facilitar el acceso a las propiedades y los valores de los objetos, FormCalc incluye métodos abreviados que reducen el esfuerzo necesario para crear referencias. En esta sección se describen los métodos abreviados de la sintaxis de referencia para FormCalc.
Campo u objeto actualSe refiere al campo u objeto actual.
Ejemplo$ = "Tony Blue"
El ejemplo anterior fija el valor del campo u objeto actual en Tony Blue.
Raíz del modelo de datos de xfa.datasets.dataRepresenta la raíz del modelo de datos xfa.datasets.data.
Ejemplo$data.purchaseOrder.total
equivale a
xfa.datasets.data.purchaseOrder.total
Suceso de objeto de formularioRepresenta el suceso de objeto de formulario actual.
Raíz del modelo de formularioRepresenta la raíz del modelo de formulario xfa.form.
Ejemplo $form.purchaseOrder.tax
equivale a expresar
xfa.form.purchaseOrder.tax
Objeto principalRepresenta el objeto principal.
Ejemplo $host.messageBox("Hello world")
equivale a
xfa.host.messageBox("Hello world")
Para obtener más información, consulte Uso de una aplicación host.
Raíz del modelo de presentaciónRepresenta la raíz del modelo de presentación xfa.layout.
Ejemplo$layout.ready
equivale a expresar
xfa.layout.ready
Colección de registro de datosRepresenta el registro actual de un conjunto de datos, como los de un archivo XML.
Ejemplo$record.header.txtOrderedByCity
hace referencia al nodo txtOrderedByCity en el nodo header de los datos XML actuales.
Raíz del modelo de plantillaRepresenta la raíz del modelo de plantilla xfa.template.
Ejemplo$template.purchaseOrder.item
equivale a
xfa.template.purchaseOrder.item
Raíz del modelo de datos de xfa.datasets.dataRepresenta la raíz del modelo de datos xfa.datasets.
Ejemplo!data
equivale a
xfa.datasets.data
Seleccionar todos los objetos de formularioSelecciona todos los objetos de formulario de un contenedor dado, como un subformulario, independientemente del nombre o selecciona todos los objetos con un nombre similar.
Puede utilizar la sintaxis ‘*’ (asterisco) con JavaScript si se combina con el método resolveNode.
EjemploPor ejemplo, la expresión siguiente selecciona todos los objetos con el nombre item en un formulario:
xfa.form.form1.item[*]
Búsqueda de objetos que forman parte de un subcontenedorSe pueden utilizar dos puntos en cualquier lugar de la sintaxis de referencia para buscar objetos que formen parte de cualquier subcontenedor del objeto de contenedor actual, como un subformulario.
Puede utilizar la sintaxis de ‘..’ (punto doble) con JavaScript si se combina con el método resolveNode.
EjemploLa expresión Subform_Page..Subform2significa localizar el nodo Subform_Page (como de costumbre) y buscar un descendiente de Subform_Page llamado Subform2.
Según el árbol del ejemplo anterior:
Subform_Page..TextField2
equivale a
Subform_Page.Subform1[0].Subform3.TextField2[0]
porque TextField2[0] es el primer nodo Subform1 que encuentra FormCalc en la búsqueda. Un segundo ejemplo:
Subform_Page..Subform3[*]
devuelve los cuatro objetos TextField2.
Denotación de un objeto sin nombre o especificar una propiedadLa notación de signo de número (#) se utiliza para denotar uno de los siguientes elementos en una sintaxis de referencia:
Puede utilizar la sintaxis ‘#’ (signo de almohadilla) con JavaScript si se combina con el método resolveNode.
EjemploCon la siguiente sintaxis de referencia se accede a un subformulario sin nombre:
xfa.form.form1.#subform
La siguiente sintaxis de referencia accede a la propiedad name de un subformulario si éste también contiene un campo llamado name:
xfa.form.form1.#subform.#name
Valor de incidencia de un objetoLa notación de corchetes ([ ]) denota el valor de incidencia de un objeto.
En formularios específicos de idiomas para árabe, hebreo, tailandés y vietnamita, la sintaxis de referencia se encuentra siempre a la derecha (incluso para los idiomas que se leen de derecha a izquierda).
EjemploPara crear una referencia de valor de incidencia, utilice corchetes ([ ]) detrás de un nombre de objeto y encierre entre corchetes uno de los valores siguientes:
[ n ], donde n es un número de índice de incidencia absoluto que empieza en 0. Un número de incidencia fuera de rango no devuelve un valor. Por ejemplo:
xfa.form.form1.#subform.Quantity[3]
refers to the fourth occurrence of the Quantity object.
[ +/- n ], donde n indica una incidencia relativa a la incidencia del objeto que hace la referencia. Con valores positivos se obtienen números de incidencia mayores, mientras que con los negativos se obtienen números de incidencia menores. Por ejemplo:
xfa.form.form1.#subform.Quantity[+2]
Esta referencia da como resultado la incidencia de Quantity cuyo número de incidencia es dos números mayor que el número de incidencias del contenedor que hace la referencia. Por ejemplo, si esta referencia se adjunta al objeto Quantity[2], la referencia equivaldría a:
xfa.template.Quantity[4]
Si el número de índice computado está fuera de rango, la referencia genera un error.
Esta sintaxis se emplea habitualmente para ubicar la incidencia anterior o siguiente de un objeto concreto. Por ejemplo, todas las incidencias del objeto Quantity (salvo la primera) pueden utilizar Quantity[-1] para obtener el valor del objeto Quantity anterior.
[*] indica varias incidencias de un objeto. Se encuentra el primer objeto nombrado y se devuelven los objetos que tengan el mismo nombre y sean descendientes del primero. Tenga en cuenta que cuando se usa esta notación se obtiene un conjunto de objetos. Por ejemplo:
xfa.form.form1.#subform.Quantity[*]
Esta expresión se refiere a todos los objetos con el nombre de Quantity que sean descendientes de la primera incidencia del objeto Quantity encontrada.
Con el árbol como referencia, las expresiones devuelven los siguientes objetos:
Subform_Page.Subform1[*] devuelve ambos objetos Subform1.
Subform_Page.Subform1.Subform3.TextField2[*] devuelve dos objetos TextField2.Subform_Page.Subform1 se resuelve en el primero objeto Subform1 de la izquierda y TextField2[*] se evalúa en relación con el objeto Subform3.
Subform_Page.Subform1[*].TextField1 devuelve las dos instancias de TextField1.Subform_Page.Subform1[*] se resuelve en los dos objetos Subform1 y TextField1 se evalúa en relación con los objetos Subform1.
Subform_Page.Subform1[*].Subform3.TextField2[1] devuelve el segundo y el cuarto objeto TextField2 de la izquierda.Subform_Page.Subform1[*] se resuelve en los dos objetos Subform1 y TextField2[1] se evalúa en relación con los objetos Subform3.
Subform_Page.Subform1[*].Subform3[*] devuelve las dos instancias del objeto Subform3.
Subform_Page.*devuelve los dos objetos Subform1 y el objeto Subform2.
Subform_Page.Subform2.*devuelve las dos instancias del objeto NumericField2.
Puede utilizar la sintaxis ‘ [ ]’ (corchetes) con JavaScript si se combina con el método resolveNode.
|
|
|