versión 2004 (Modificado)
DISPLAY SELECTION ({tabla}{; modoSeleccion{; entradaLista{; *{; *}}}})
Parámetro | Tipo | Descripción | |
tabla | Tabla | Tabla a mostrar, o | |
Tabla por defecto, si se omite | |||
modoSeleccion | Entero largo | Modo de selección | |
entradaLista | Booleano | Autorizar entrada en lista | |
* | Utilizar el formulario de salida en caso de selección de | ||
un solo registro y ocultar las barras de desplazamiento | |||
en el formulario de entrada | |||
* | Mostrar las barras de desplazamiento en el formulario | ||
de entrada (anular el segundo efecto del primer | |||
parámetro *) |
Descripción
DISPLAY SELECTION muestra la selección de tabla, utilizando el formulario de salida. Los registros son mostrados en una lista por la cual se puede desplazar similar a la del modo Diseño. Si el usuario hace doble clic en un registro, por defecto se muestra el registro en el formulario de entrada actual. La lista se muestra en la ventana del primer plano.
Para mostrar una selección y poder igualmente modificar un registro en el formulario de entrada actual después de hacer doble clic en él (como lo hace en la ventana del entorno Diseño), utilice MODIFY SELECTION en lugar de DISPLAY SELECTION.
La información a continuación aplica a ambos comandos, excepto por la información sobre la modificación de registros.
Después de ejecutar DISPLAY SELECTION, no hay registro actual. Utilice un comando tal como FIRST RECORD o LAST RECORD para seleccionar uno.
El parámetro modoSeleccion se utiliza para definir las posibilidades de selección de registros en la lista utilizando el ratón. En este parámetro puede pasar una de las siguientes constantes del tema "Form Parámetros":
si pasa No Selection (0), no será posible seleccionar un registro en la lista.
si pasa Single Selection (1), sólo puede seleccionarse un registro a la vez.
si pasa Multiple Selection (2), el usuario puede seleccionar varios registros a la vez. Para seleccionar registros adyacentes, haga clic en el primer registro a seleccionar, luego presione la tecla Mayús antes de hacer clic en el último registro que quiere incluir en la selección. Para seleccionar registros no adyacentes, haga clic en cada registro por separado mientras mantiene presionada la tecla Ctrl (bajo Windows) o comando (bajo Mac OS).
Si no pasa el parámetro modoSelección, por defecto se utiliza el modo "Selección múltiple".
El parámetro entradaLista le permite autorizar el modo "Entrada en lista" en la lista mostrada. Este modo permite al usuario seleccionar y modificar directamente los valores de los registros en el formulario de salida. Pase True para activar este modo o False para desactivarlo. Por defecto, si no pasa el parámetro entradaLista, el modo "Entrada en lista" se desactiva.
Recuerde que con el comando DISPLAY SELECTION, este parámetro sólo permite la selección de los valores en la lista y no su modificación. De hecho, el comando DISPLAY SELECTION carga los registros de la selección actual en modo sólo lectura. Sólo el comando MODIFY SELECTION permite efectivamente la entrada de valores.
Nota: El comando SET ENTERABLE permite activar o desactivar fácilmente el modo Entrada en lista.
Algunas reglas relacionadas con el parámetro opcional *:
- Si la selección contiene sólo un registro y el primer parámetro opcional * no se utiliza, el registro se mostrará en el formulario de entrada en lugar del formulario de salida.
- Si el primer parámetro opcional * se especifica, el registro único será mostrado en el formulario de salida.
- Si el primer parámetro opcional * se especifica y el usuario muestra el registro en el formulario de entrada haciendo doble clic en él, se ocultarán las barras de desplazamiento del formulario. Para anular este efecto, pase el segundo parámetro opcional *.
Puede colocar botones personalizados en el área del encabezado o del pie de página del formulario de salida para terminar la ejecución del comando DISPLAY SELECTION. Puede utilizar los botones automáticos Aceptar o Cancelar para salir, o utilizar un método de objeto que llame a los comandos ACCEPT o CANCEL. Cuando un formulario de salida llamado por el comando DISPLAY SELECTION no tiene botones, sólo la tecla Escape (Windows) o Esc (Mac OS) permiten salir de la lista.
Durante y después de la ejecución de DISPLAY SELECTION, los registros que el usuario selecciona se conservan en un conjunto llamado UserSet. UserSet está disponible por medio de DISPLAY SELECTION a los métodos de objeto de los botones, a los métodos llamados por los comandos de menú, así como para el método de proyecto que llamó DISPLAY SELECTION.
Ejemplos
1. El siguiente ejemplo selecciona todos los registros en la tabla [Personas]. El comando DISPLAY SELECTION muestra los registros y permite al usuario seleccionar los registros a imprimir. Finalmente, selecciona los registros con USE SET, y los imprime con PRINT SELECTION:
ALL RECORDS([Personas]) ` Selección de todos los registros DISPLAY SELECTION ([Personas]; *) ` Visualización de los registros USE SET ("UserSet") ` Utilizar sólo los registros seleccionados por el usuario PRINT SELECTION ([Personas]) ` Imprimir los registros que el usuario seleccionó
2. Ver el ejemplo #6 del comando Form event. Este ejemplo muestra todas las pruebas que puede necesitar para efectuar monitoreo total de los eventos que ocurren durante la ejecución del comando DISPLAY SELECTION.
3. Para reproducir las funcionalidades ofrecidas por el menú Registros del entorno Diseño cuando utiliza DISPLAY SELECTION o MODIFY SELECTION en modo Aplicación, proceda de la siguiente forma:
a. En el entorno Diseño, cree una barra de menús con los comandos de menú que quiera, por ejemplo, Mostrar todos, Buscar y Ordenar.
b. Asocie esta barra de menús (utilizando el menú "Barra de menús asociada" en la caja de diálogo de propiedades del formulario) con el formulario de salida utilizado con los comandos DISPLAY SELECTION o MODIFY SELECTION.
c. Asocie los siguientes métodos de proyecto a sus comandos de menú:
` M_SHOW_ALL (asociado al comando de menú Mostrar todos) $vpCurTabla:=Current form table ALL RECORDS($vpCurTabla->)
` M_QUERY (asociado al comando de menú Buscar) $vpCurTabla:=Current form table QUERY($vpCurTable->) ` M_ORDER_BY (asociado al comando de menú Ordenar) $vpCurTabla:=Current form table ORDER BY($vpCurTabla->)
También puede utilizar otros comandos, tales como PRINT SELECTION, QR REPORT, etc. para ofrecer todas las opciones de menú estándar que quiera cada vez que visualice o modifique una selección en el modo Aplicación. Gracias al comando Current form table, estos método son genéricos, y la barra de menús a los cuales soporta puede asociarse a todo formulario de salida de cualquier tabla.
Ver también
Conjuntos, Form event, MODIFY SELECTION.