Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
Eventos formulario 4D View Pro
|
Eventos 4D estándar (ver Form event code) | Eventos 4D View Pro específicos |
On Load | On VP Ready |
On Losing Focus | On Double Clicked |
On Unload | On Header Click |
On After Edit | |
On Selection Change | |
On Column Resize | |
On Row Resize | |
On VP Range Changed |
Todo código de inicialización de un área 4D View Pro, para la carga o lectura de valores a partir del área o en el área, debe ser introducido en el evento formulario On VP Ready del área. Este evento de formulario se dispara una vez que se ha completado la carga del área. Probar este evento asegura que el código se ejecutará en un contexto válido. Se devuelve un error si se llama a un comando 4D View Pro antes de generar el evento de formulario On VP Ready.
Nota: las áreas 4D View Pro se cargan asíncronamente en los formularios 4D. Esto significa que el evento de formulario estándar On load no puede ser utilizado por el código de inicialización de 4D View Pro, ya que podría ejecutarse antes de que se complete la carga del área. On VP Ready siempre se genera después de On load.
Al hacer clic en cualquier parte de un documento 4D View Pro, se genera el evento On Clicked. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On Clicked |
description | texto | "On Clicked" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas |
Ejemplo:
If(FORM Event.code=On Clicked)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"green"))
End if
Cuando un usuario hace doble clic en cualquier parte de un documento 4D View Pro, se genera el evento On Double Clicked. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On Double Clicked |
description | text | "On Double Clicked" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas |
Ejemplo:
If(FORM Event.code=On Double Clicked)
$value:=VP Get value(FORM Event.range)
End if
Cuando un usuario hace clic en un encabezado de columna o de fila de un documento 4D View Pro, se genera el evento On Header Click. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On Header Click |
description | texto | "On Header Click" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas |
sheetArea | entero largo | La ubicación de la hoja donde tuvo lugar el evento: |
Ejemplo:
If(FORM Event.code=On Header Click)
Case of
:(FORM Event.sheetArea=1)
$values:=VP Get values(FORM Event.range)
:(FORM Event.sheetArea=2)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"gray"))
:(FORM Event.sheetArea=0)
VP SET CELL STYLE(FORM Event.range;New object("borderBottom";New object("color";"#800080";"style";vk line style thick)))
End case
End if
Después de cualquier modificación de un documento 4D View Pro, se genera el evento On After Edit. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On After Edit |
description | texto | "On After Edit" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
action | texto | "editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted" |
Nota: ver también el evento On VP Range Changed.
Dependiendo del valor de la propiedad action, el objeto contendrá propiedades adicionales.
La edición de texto genera las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción |
range | objeto | Rango de celdas |
editingText | variant | El valor del editor actual |
Cambiar valores genera las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción |
range | objeto | Rango de celdas |
oldValue | variant | Valor de la celda antes de cambiar |
newValue | variant | Valor de la celda después de cambiar |
Las acciones de arrastrar y soltar generan la inclusión de las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción |
fromRange | objeto | Rango de la celda fuente (arrastrado) |
toRange | objeto | Rango de la celda de destino (soltado) |
copy | booleano | Especifica si el rango fuente se copia o no |
insert | booleano | Especifica si el rango de origen se inserta o no |
Arrastrar contenido para llenar celdas adyacentes genera las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción |
fillRange | objeto | Rango utilizado para el relleno |
autoFillType | entero largo | Valor utilizado para el relleno. |
fillDirection | entero largo | Dirección del rellenol. |
Introducir fórmulas genera las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción |
range | objeto | Rango de celdas |
formula | texto | La fórmula ingresada |
Pegar contenido desde el portapapeles genera las siguientes propiedades adicionales:
Propiedad | Tipo | Descripción | |||||||||
range | objeto | Rango de celdas que recibe los contenidos | |||||||||
pasteOption | entero largo | Especifica lo que se pega desde el portapapeles: | |||||||||
pasteData | objeto | Los datos del portapapeles a pegar | |||||||||
|
Este es un ejemplo de gestión del evento On After Edit:
If(FORM Event.code=On After Edit)
If(FORM Event.action="valueChanged")
ALERT("ATENCIÓN: eestá cambiando el valor de "+String(FORM Event.oldValue)+" a "+String(FORM Event.newValue)+"!")
End if
End if
El ejemplo de arriba podría generar un objeto evento (ver FORM Event) como este:
{
"code":45;
"description":"On After Edit";
"objectName":"ViewProArea"
"sheetname":"Sheet1";
"action":"valueChanged";
"range": {area:ViewProArea,ranges:[{column:1,row:2,sheet:1}]};
"oldValue":"The quick brown fox";
"newValue":"jumped over the lazy dog";
}
La modificación de la selección actual de filas o columnas en un documento 4D View Pro genera el evento On Selection Change. El objeto devuelto por el comando FORM Event contiene:
Ejemplo:Propiedad Tipo Descripción code entero largo On Selection Change description texto "On Selection Change" objectName texto Nombre del área 4D View Pro sheetName texto Nombre de la hoja del evento oldSelections objeto Rango de celdas antes del cambio newSelections objeto Rango de celdas después del cambio If(FORM Event.code=On Selection Change)
VP SET CELL STYLE(FORM Event.oldSelections;New object("backColor";Null))
VP SET CELL STYLE(FORM Event.newSelections;New object("backColor";"red"))
End if
Cuando un usuario modifique el ancho de una columna en un documento 4D View Pro, se genera el evento On Column Resize. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On Column Resize |
description | texto | "On Column Resize" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas de las columnas cuyos anchos han cambiado |
header | booleano | True si la fila del encabezado de la columna (primera columna) cambia de tamaño, de lo contrario, false |
Ejemplo:
If(FORM Event.code=On Column Resize)
VP SET CELL STYLE(FORM Event.range;New object("hAlign";vk horizontal align right))
End if
Después de que un usuario modifique la altura de una fila en un documento 4D View Pro, se genera el evento On Row Resize. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
code | entero largo | On Row Resize |
description | texto | "On Row Resize" |
objectName | texto | Nombre del área 4D View Pro |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas de las líneas cuyas alturas han cambiado |
header | booleano | True si la fila del encabezado de la columna (primera fila) cambia de tamaño, de lo contrario, false |
Ejemplo:
If(FORM Event.code=On Row Resize)
VP SET CELL STYLE(FORM Event.range;New object("vAlign";vk vertical align top))
End if
Cuando se produce un cambio dentro de un rango de celdas en el documento 4D View Pro, se genera el evento On VP Range Changed. El objeto devuelto por el comando FORM Event contiene:
Propiedad | Tipo | Descripción |
objectName | texto | Nombre del área 4D View Pro |
code | entero largo | On VP Range Changed |
description | texto | "On VP Range Changed" |
sheetName | texto | Nombre de la hoja del evento |
range | objeto | Rango de celdas del cambio |
changedCells | objeto | Rango que contiene sólo las células cambiadas. Puede ser un rango combinado. |
action | texto | Tipo de operación que genera el evento:
|
Nota: ver también On After Edit.
Producto: 4D
Tema: Eventos formulario 4D View Pro
4D View Pro ( 4D v19)