4D v16.3GOTO SELECTED RECORD |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
GOTO SELECTED RECORD
|
GOTO SELECTED RECORD ( {tabla ;} registro ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
tabla | Tabla |
![]() |
Tabla en la cual ir al registro seleccionado o Tabla por defecto, si se omite | |||||
registro | Entero largo |
![]() |
Posición del registro en la selección | |||||
GOTO SELECTED RECORD vuelve el registro especificado en la selección actual de tabla el registro actual. La selección actual no cambia. El parámetro registro no es el mismo del número devuelto por Record number; Este parámetro representa la posición del registro en la selección actual. La posición del registro depende de la manera en que la selección ha sido creada y ordenada.
GOTO SELECTED RECORD no hace nada si:
Si pasa 0 en registro, no habrá registro actual en tabla. Este mecanismo permite deseleccionar todos los registros en una lista, en particular en el caso de los subformularios incluidos, cuando el modo de selección es “único”.
El siguiente ejemplo carga datos del campo [Personas]Apellido en el array atNombres. Un array de enteros largos, llamado NumReg, se llena con los números que representarán a los registros seleccionados. Luego se ordenan los dos arrays:
` Crear aquí la selección de la tabla [Personas]
` ...
` Obtener los nombres
SELECTION TO ARRAY([Personas]Apellido;atNombres)
` Crear un array para los números de registros seleccionados
$vlNbRegistros:=Size of array(atNombres)
ARRAY LONGINT(NumReg;$vlNbRegistros)
For($vlRegistro ;1;$vlNbRegistros)
NumReg{$vlRegistro }:=$vlRegistro
End for
` Ordenar los dos arrays en orden alfabético
SORT ARRAY(atNombres;NumReg;>)
Si el array atNombres se muestra en un área de desplazamiento, el usuario hace clic en uno de los elementos. Como la ordenación de los dos arrays está sincronizada, todo elemento de numReg proporciona el número del registro seleccionado para el registro cuyo nombre se guarda en el elemento correspondiente en atNombres.
El siguiente método de objeto del área desplegable atNombres selecciona el registro correcto en la selección de [Personas], de acuerdo al nombre elegido en el área de desplazamiento:
Case of
:(Form event=On Clicked)
If(atNombres#0)
GOTO SELECTED RECORD(NumReg{atNombres})
End if
End case
Producto: 4D
Tema: Selecciones
Número
245
Modificado: 4D 2004
Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)