4D v16.3

Propiedades específicas de los list box

Inicio

 
4D v16.3
Propiedades específicas de los list box

Propiedades específicas de los list box  


 

 

Cuando selecciona un objeto List Box del editor de formularios, la lista de propiedades muestra varios temas y propiedades específicas.  Note que las propiedades especificas adicionales están disponibles cuando selecciona una columna de list box (ver Propiedades específicas de columnas de list box), un encabezado de columna (ver Propiedades específicas de los encabezados de list box) o un pie de columna (ver Propiedades específicas de los pies de list box).

Este tema incluye la propiedad Fuente de datos que se utiliza para especificar el tipo de list box: 

  • Seleccione la opción Selección actual si quiere utilizar expresiones, campos o métodos cuyos valores se evaluarán para cada registro de la selección actual de una tabla.
  • Seleccione la opción Selección temporal si quiere utilizar expresiones, campos o métodos cuyos valores se evaluarán para cada registro de una selección temporal.
  • Seleccione la opción Arrays si quiere utilizar elementos del array como líneas del list box.
    La opción arrays es necesaria si quiere recuperar el resultado de una petición SQL en un list box (ver la sección Visualización del resultado de una petición SQL en un list box).

Este tema aparece para los list box de tipo selección únicamente. Contiene la propiedad Tabla principal para los list box de tipo selección actual o Selección temporal para los list box de tipo selección temporal.

  • Tabla principal: permite especificar la tabla cuyo selección actual se utilizará. Esta tabla y su selección actual serán la referencia para los campos asociados con las columnas del list box (referencias de campos o expresiones que contienen campos). Incluso si algunas columnas contienen campos de otras tablas, el número de líneas mostradas será definido por la tabla principal.
    El menú asociado a esta propiedad muestra todas las tablas de la base, sin importar si el formulario está relacionado a una tabla (formulario tabla) o no (formulario proyecto). Por defecto, la propiedad muestra la primera tabla de la base. Para mayor información sobre el comportamiento de esta propiedad, consulte Visualización de campos en list box.
  • Selección temporal: permite especificar la selección temporal a utilizar. Debe introducir el nombre de una selección temporal válida. La selección temporal puede se proceso o interproceso. El contenido del list box se basará en esta selección. La selección temporal elegida debe existir y ser validada en el momento de la visualización del list box, de lo contrario el list box se mostrará vacío. Si deja vacía el área del nombre, el list box se mostrará vacío.
    Nota:
    las selecciones temporales son listas ordenadas de registros. Se utilizan para conservar en memoria el orden y el registro actual de una selección. Para mayor información, consulte Selecciones temporales en el manual Lenguaje de 4D.

Este tema agrupa las propiedades elementales del objeto.

  • Número de columnas: número de columnas mostradas en el list box (1 por defecto). Puede modificar el número de columnas (añadir, duplicar o borrar una columna) utilizando el menú contextual (clic en una columna o en un encabezado de columna):
  • Número de columnas bloqueadas: número de columnas que deben mostrarse permanentemente en la parte izquierda del list box, incluso si el usuario se desplaza por las columnas horizontalmente. Una columna bloqueada puede redimensionarse, editarse, etc. como toda columna. Sólo su posición en el list box está bloqueada (no se desplaza). Esto puede ser útil, por ejemplo, para mostrar los "títulos" de las líneas en un array de gran tamaño.
    Esta propiedad define un "área bloqueada". Si una columna bloqueada se borrar por programación, el número de columnas bloqueadas en el list box disminuye en 1. De la misma forma, si una columna se inserta por programación en el área bloqueada, esta columna se bloque automáticamente.
    Nota: consulte la sección "Columnas bloqueadas y columnas estáticas" para una comparación de dos funcionalidades.
  • Número de columnas estáticas: número de columnas que no pueden moverse durante la ejecución. Este valor indica el número de columnas fijas a partir de la primera columna del list box. Para evitar todo desplazamiento de columnas, este valor debe ser igual al número total de columnas. Esta propiedad tiene en cuenta las columnas invisibles.
    Por defecto, si el modo jerárquico no está activo (opción List box jerárquico no seleccionada), el valor de la propiedad es 0, lo que significa que todas las columnas se pueden mover. Cuando el modo jerárquico está activo (list boxes de tipo array únicamente), esta opción siempre es al menos 1.
    Nota: consulte la sección "Columnas bloqueadas y columnas estáticas" para una comparación de las dos funcionalidades.
  • Selección múltiple: esta propiedad se añade para los list box de tipo selección únicamente. Permite especificar el conjunto a utilizar para manejar los registros seleccionados en el list box (cuando está seleccionada la fuente de datos Arrays, se utiliza un array Booleano con el mismo nombre que el list box).
    4D crea un conjunto por defecto, llamado ListBoxSetN (N comienza en 0 y se incrementa en función del número de list boxes en el formulario), que se puede modificar si es necesario. El conjunto puede ser local, proceso o interproceso (recomendamos el uso de un conjunto local, por ejemplo $LBSet, con el fin de limitar el tráfico en la red). El conjunto es mantenido automáticamente por 4D. Si el usuario selecciona uno o más líneas en el list box, el conjunto se actualiza inmediatamente. Si quiere seleccionar una o más líneas por programación, aplique los comandos del tema “Conjuntos” a este conjunto.
    Notas:
    • El estado resaltado de las líneas del list box y el de los registros de la tabla son totalmente independiente.
    • Si la propiedad “Selección múltiple” no contiene un nombre, no será posible realizar selecciones en el list box.
  • Array de control de líneas (list box de tipo array únicamente): permite controlar las propiedades de interfaz "oculta", "desactivada" y "seleccionable" para cada línea de listbox de tipo array. Debe introducir el nombre de un array de tipo Entero largo que debe tener el mismo número de elementos que el listbox. Cada elemento del array indica si la línea correspondiente está:
    • oculta o visible (visible por defecto)
    • activa o desactiva (activa por defecto)
    • seleccionable o no seleccionable (seleccionable por defecto)

    Puede definir las propiedades de cada línea mediante la asignación de las constantes a los elementos del array correspondiente. Para más información, consulte la sección [#title id="2772" anchor="2892745"/].

    Nota de compatibilidad: en las versiones anteriores de 4D, esta propiedad se llamaba "Array de líneas ocultas" y recibía un array booleano. Por razones de compatibilidad, un array booleano sigue siendo aceptado por un array de control de líneas. En este caso, cada elemento del array booleano indica el estado mostrado/oculto de la línea correspondiente en el list box. True significa que la línea está oculta y  False significa que es visible.

    La propiedad Row Control Array se puede ajustar o leer utilizando los comandos LISTBOX SET ARRAY y LISTBOX Get array. El array también puede ser devuelto por el comando LISTBOX GET ARRAYS.

  • Modo de selección: permite definir el modo de selección de las líneas en el list box. Hay tres modos disponibles:
    • Ninguno: no puede seleccionarse ninguna línea y no es posible introducir datos (excepto si la opción "Editar en un solo clic" está seleccionada. Ver el párrafo Tema Entrada. La selección y gestión de datos puede efectuarse únicamente por programación. El clic o el doble clic en la lista no tienen ningún efecto (incluso si la opción Editable está seleccionada para las columnas) pero se pueden generar los eventos On Clicked y On Double Clicked. En este modo, el desarrollador tiene control total de las selecciones (utilizando el conjunto resaltado) y de la entrada de datos (utilizando el comando EDIT ITEM). No se generan los eventos de formulario On Selection Change y On Before Data Entry. Por otra parte, el evento On After Edit puede generarse cuando los datos son introducidos por el usuario por medio del comando EDIT ITEM.
    • Línea única: una sola línea puede seleccionarse a la vez.
    • Multilíneas: varias líneas (adyacentes o no) utilizando atajos estándar: Mayús+clic para una selección continua y Ctrl+clic (Windows) o Comando+clic (Mac OS) para una selección discontinua.                                   
      Doble clic en una fila (para list box tipo “selección” únicamente): define la acción que se llevará a cabo cuando un usuario haga doble clic sobre una fila en el listbox. Las siguientes opciones están disponibles:
      • No hacer nada (por defecto): hacer doble clic en una línea no desencadena ninguna acción automática.
      • Modificar Registro: doble clic en una línea muestra el registro correspondiente en el formulario detallado definido para el list box (ver el párrafo " Formulario Detallado" más adelante). El registro está abierto en modo lectura y escritura por lo que puede ser modificado.
      • Mostrar registro: idéntica a la acción anterior, excepto que el registro se abre en modo de sólo lectura de manera que no pueda ser modificado.
        Nota:
        Al hacer doble clic en una línea vacía no pasa nada.
        Independientemente de la acción seleccionada elegida, se genera el evento de formulario On Double clicked.
        Para las dos últimas acciones, el evento de formulario On Open Detail también se genera. On Close Detail luego se genera cuando se muestra un registro en el formulario detallado asociado al list box antes de cerrarse (sin importar si el registro fue modificado o no).
  • Formulario detallado (list box de tipo selección únicamente):  especifica el formulario a utilizar para modificar o mostrar los registros individuales del list box. El formulario definido se muestra:
    • cuando utilice las acciones estándar Añadir Subregistro y Editar Subregistro aplicadas al list box (ver Utilizar acciones estándar),
    • cuando se hace doble clic en una línea y la propiedad Doble clic en línea está definida para "Editar registro" o "Mostrar Registro" (ver la sección “Doble clic en una fila” arriba).

Las columnas bloqueadas y las columnas estáticas son dos funcionalidades separadas e independientes en los list box:

  • las columnas bloqueadas siempre se muestran a la izquierda del list box, no se desplazan horizontalmente.
  • las columnas estáticas no se pueden mover por arrastrar y soltar al interior del list box.

Nota: puede definir las columnas estáticas y las columnas bloqueadas por programación, ver el capítulo List Box en el manual de Lenguaje de 4D.

Estas propiedades interactúan de la siguiente forma:

  • Si define únicamente columnas estáticas, no se pueden mover.
  • Si define columnas bloqueadas, pero no estáticas, puede cambiar su posición libremente en el área bloqueada. Sin embargo, una columna bloqueada no se puede mover fuera de esta área bloqueada.
  • Si define un mismo número de columnas bloqueadas como de columnas estáticas, no podrá mover las columnas en el área bloqueada.
  • Puede definir una combinación de columnas bloqueadas y estáticas de acuerdo a sus necesidades. Por ejemplo, si define tres columnas bloqueadas y una columna estática, el usuario puede intercambiar las dos columnas más a la derecha dentro del área bloqueada (ya que sólo la primera columna es estática).

Estos temas administran la visualización y la altura de los encabezados y de los pies de columnas del list box. Tenga en cuenta que las áreas de encabezados y de pies no son editables durante su uso. Sus contenidos siempre se calculan.

  • Mostrar encabezados y Mostrar pies: permite mostrar u ocultar los encabezados o los pies de las columnas. No hay otras opciones disponibles en cada tema a menos que esta propiedad esté seleccionada.
    Una vez el área se muestra en el list box, puede seleccionarla haciendo clic en ella para acceder a sus propiedades específicas en la Lista de propiedades (ver Propiedades específicas de los encabezados de list box y Propiedades específicas de los pies de list box). Usted dispone de un área de encabezado y de un área de pie por columna, configurables por separado.
  • Invisible por defecto: Como para todos los objetos de formulario, esta opción facilita la gestión dinámica de la visualización del objeto utilizando el comando OBJECT SET VISIBLE.
    El comando OBJECT SET VISIBLE no tiene ningún efecto si la opción "Mostrar encabezados" o "Mostrar pies" correspondiente no está seleccionada en la lista de propiedades.
  • Altura: permite definir la altura de la línea de encabezado y de la línea de pie del list box. Puede definir la unidad (líneas o píxeles) para el valor de la altura. Para obtener más información al respecto, consulte el párrafo Altura en píxeles o líneas a continuación.
    Por defecto, la altura de los encabezados y de los pies es de una línea.
    Atención: la altura mínima en píxeles de los encabezados depende del sistema. Si pasa un valor demasiado pequeño, será reemplazado por el tamaño mínimo definido en el sistema para los encabezados. No hay un tamaño mínimo para los pies y las líneas.
    Nota de compatibilidad: en Windows 7 y Windows Vista, la altura mínima de los encabezados es de 24 píxeles. Los encabezados de menor altura definidos en sus bases convertidas se redimensionarán automáticamente. En este caso, podría ser necesario retocar sus formularios.

    También puede definir dinámicamente la altura de la línea de los encabezados y de los pies utilizando los comandos LISTBOX SET HEADERS HEIGHT y LISTBOX SET FOOTERS HEIGHT.

Se puede definir la altura de los encabezados, pies y líneas en unidades de píxeles o de líneas de texto. En la lista de propiedades, la elección de la unidad se efectúa utilizando el botón asociado al campo "Altura".

También puede insertar una "L" (de línea) o una "P" (de píxeles) directamente en el área de valor, (por ejemplo, "17 P") y la etiqueta del botón se actualiza en consecuencia.

Puede incluso utilizar los dos tipos de unidades en un mismo list box:

  • Cuando se utiliza la unidad "píxeles", el valor de la altura se aplica directamente a la línea que se trate, independientemente del tamaño de las fuentes contenidas en las columnas. Si la fuente es demasiado grande, el texto se trunca. Además, las imágenes se truncan o redimensionan en función de su formato.
  • Cuando se utiliza la unidad "Línea", la altura se calcula teniendo en cuenta el tamaño de la fuente de la línea en cuestión.
    • Si más de un tamaño se ajusta, 4D utiliza el más grande. Por ejemplo, si la línea contiene "Verdana de 18", "Ginebra, 12" y "Arial 9", 4D utiliza "Verdana 18" para determinar la altura de la línea (por ejemplo, 25 píxeles). Esta altura se multiplica por el número de líneas definidas.
    • El cálculo no tiene en cuenta el tamaño de las imágenes ni los estilos aplicados a las fuentes.
    • En OS X, el alto de línea puede ser incorrecto si el usuario introduce caracteres que no están disponibles en la fuente seleccionada. Cuando esto ocurre, se utiliza una fuente sustituta, que puede causar variaciones en el tamaño.
  • Conversión de las unidades: cuando se pasa de una unidad a otra, 4D efectúa automáticamente la conversión y muestra el resultado en la Lista de Propiedades. Por ejemplo, si la fuente utilizada es "Lucida Grande 24", la altura "1 línea" se convierte en "30 píxeles" y la altura "60 píxeles" se convierte en "2 líneas".
    Note que la conversión de un lado a otro puede dar lugar a un resultado final diferente del valor de partida debido a los cálculos realizados automáticamente por 4D. Esto se ilustra en las siguientes secuencias:
    (fuente Arial 18): 52 píxeles-> 2 líneas -> 40 píxeles
    (fuente Arial 12): 3 píxeles-> 0.4 línea redondeada a 1 línea -> 19 píxeles

Este tema reúne todas las propiedades relacionadas con la rejilla mostrada en el objeto list box.

  • Líneas horizontales: muestra u oculta las líneas horizontales del list box (mostradas por defecto).
  • Color de líneas horizontales: define el color de las líneas horizontales en el list box (gris por defecto).
  • Líneas verticales: muestra u oculta las líneas verticales del list box (mostradas por defecto).
  • Color de líneas verticales: define el color de las líneas verticales del list box (gris por defecto).

Este tema sólo está disponible para los list boxes cuya fuente de datos es Arrays. Sus opciones configuran la visualización jerárquica del list box. Tenga en cuenta que estas propiedades se modifican automáticamente cuando se define la jerarquía utilizando el menú emergente del objeto list box (ver Creación y uso de list box jerárquicos).

  • List box jerárquico: se utiliza para especificar que el list box se debe mostrar en forma jerárquica. 
  • Variable 1 ... 10: estas opciones adicionales aparecen cuando la opción List box jerárquico está seleccionada. Cada vez que se introduce un valor en un campo, se agrega una nueva fila. Se pueden especificar hasta 10 variables.
    Estas variables definen los niveles jerárquicos que se mostrarán en la primera columna.

    La primera variable siempre corresponde al nombre de la variable de la primera columna del list box (los dos valores se enlazan automáticamente). Esta primera variable es siempre visible y editable. Por ejemplo: país.
    La segunda variable es siempre visible y editable, especifica el segundo nivel jerárquico. Por ejemplo: regiones.
    Empezando con el tercer campo, cada variable depende de la que le precede. Por ejemplo: departamentos, ciudades, etc. Se pueden especificar un máximo de diez niveles jerárquicos.
    Si elimina un valor, toda la jerarquía se mueve un nivel.
    La última variable nunca es jerárquica, aunque varios valores idénticos existan en este nivel. Por ejemplo, en referencia a la configuración ilustrada anteriormente, imagine que arr1 contiene los valores A A A B B B, arr2 tiene los valores 1 1 1 2 2 2 y arr3 los valores X X Y Y Y  Z. En este caso, A, B, 1 y 2 podría aparecer en forma contraída, pero no X y Y:
       + A
           + 1
               X
               X
               Y
       + B
           + 2
               Y
               Y
               Z    
    Este principio no se aplica cuando una sola variable se especifica en la jerarquía: en este caso, los valores idénticos se pueden agrupar.
    Nota: si especifica una jerarquía basada en las primeras columnas de un list box existente, debe entonces borrar u ocultar estas columnas (excepto la primera), de lo contrario, aparecerán dos veces en el list box. Si define la jerarquía a través del menú emergente del editor (ver Creación y uso de list box jerárquicos), las columnas innecesarias se eliminan automáticamente del list box.

Este tema agrupa las propiedades relacionadas con las coordenadas, el ancho y el alto del list box. 

La propiedad Altura de las líneas es específica: permite definir la altura de las líneas del list box. Note que la altura de línea de las áreas de encabezados y de pie se definen por separado, en los temas "Encabezados" y "Pies".
Puede definir una altura en píxeles o en líneas. Para mayor información sobre la elección de la unidad, consulte el párrafo "Altura en píxeles o en líneas".
Por defecto, la altura de las líneas está definida en función de la plataforma y del tamaño de la fuente.

4D View Pro únicamente: esta funcionalidad requiere una licencia 4D View Pro. Para mayor información, consulte 4D View Pro.

Puede utilizar esta propiedad para especificar el nombre del array de altura de la línea que desea asociar con el list box; este array debe ser de tipo numérico (entero largo por defecto).

Cuando se especifica un array de estos, cada uno de sus elementos cuyo valor es diferente de 0 (cero) se toma en cuenta para determinar la altura de la línea correspondiente en el list box, basados en la unidad de altura de línea actual.

Por ejemplo, si escribe:

 ARRAY LONGINT(RowHeights;20)
 RowHeights{5}:=3

Si la unidad de las filas es "líneas", entonces la quinta fila del list box tendrá una altura de tres líneas, mientras que todas las demás filas mantendrán su altura por defecto.

El array de altura de la fila también se puede manejar utilizando el comando LISTBOX SET ROW HEIGHT.

Nota: la propiedad Array alto de línea no se tiene en cuenta para los list boxes jerárquicos.

Este tema contiene opciones para configurar el objeto del list box al redimensionarlo. Las opciones de redimensionamiento se aplican tanto al redimensionar los usuarios como por programación (por ejemplo, utilizando el comandos OBJECT SET COORDINATES).

  • Dimensionamiento horizontal / Dimensionamiento vertical: estas propiedades de visualización de objetos estándar se detallan en el párrafo Redimensionamiento.
  • Columna de autoredimensionamiento: cuando esta propiedad está marcada, las columnas del list box se redimensionan automáticamente junto con el list box, dentro de los límites de ancho mínimo y máximo  definidos (ver abajo ). 
    Cuando esta propiedad no está marcada (por defecto en las bases convertidas a partir de una versión 4D previa a v16), sólo la columna más a la derecha del list box se redimensiona, incluso si su ancho es superior al valor máximo definido en la lista de propiedades.

  • A medida que el ancho del list box
    aumenta, sus columnas se agrandan, una por una, empezando de derecha a izquierda, hasta que cada una alcanza su ancho máximo. Nota: todas las columnas con la propiedad Redimensionable marcada se redimensionan. (Esta propiedad se puede establecer para cada columna individualmente.)
  • El mismo procedimiento se aplica cuando el ancho del list box disminuye, pero en orden inverso (es decir, las columnas se redimensionan de izquierda a derecha). Cuando cada columna alcanza su ancho mínimo, la barra de desplazamiento horizontal se activa de nuevo.
  • Las columnas se redimensionan sólo cuando la barra de desplazamiento horizontal no está "activa"; es decir, todas las columnas son completamente visibles en el list box en su tamaño actual. Nota: si la barra de desplazamiento horizontal está oculta, esto no altera su estado: todavía podría estar activa, incluso cuando no es visible.
  • Después de todas las columnas alcanzan su tamaño máximo, ya no se agrandan y en su lugar se añade una (falsa) columna en blanco a la derecha para llenar el espacio extra.

     

    Notas:
           
    • Si una columna falsa (en blanco) está presente, cuando el ancho del list box disminuye, esta es la primera área reducida.
    • La aparición de la columna falsa coincide con la de las columnas existentes; tendrá un encabezado y/o pie falso si estos elementos están presentes en las columnas del list box existente y tendrá el mismo color de fondo aplicado.
    • Se puede hacer clic en este encabezado y/o pie de página falso, pero esto no tiene ningún efecto en las otras columnas (por ejemplo.: ninguna ordenación se lleva a cabo); sin embargo, los eventos On Clicked, On Header Click y On Footer Click se generan en consecuencia.
    • Si se hace clic en una celda de la columna falsa, el comando LISTBOX GET CELL POSITION devuelve "X+1" por su número de columna (donde X es el número de columnas existentes).            

Este tema contiene las propiedades estándar relacionadas con la entrada de datos en el  list box.

La propiedad Edición con un solo clic es específica: permite el paso directo al modo de edición.

Cuando se activa esta opción, las celdas del list box pasan al modo edición después de un solo clic del usuario, independientemente de si las celdas son de la lista seleccionada de antemano. Tenga en cuenta que esta opción permite a las celdas ser editadas, incluso cuando el modo de selección se establece en "Ninguno" (ver Tema List Box).

Cuando esta opción no está seleccionada, los usuarios deben primero seleccionar la fila de celdas y luego hacer clic en una celda para editar su contenido. Este es un comportamiento estándar para versiones de 4D anteriores a v15 R3. Por compatibilidad, esta opción está desactivada por defecto.

Este tema contiene dos propiedades para la visualización global del list box:

  • Invisible por defecto: opción genérica para la gestión de la visualización del objeto cuando se carga el formulario (ver Invisible por defecto).
  • Truncar con puntos suspensivos: controla la visualización de los valores cuando las columnas del list box son demasiado estrechas para mostrar sus contenidos completos. Esta opción está disponible para las columnas con cualquier tipo de contenidos, excepto imágenes y objetos.
    • Cuando se selecciona la opción (por defecto), si el contenido de una celda list box excede el ancho de la columna, se truncan y se muestran puntos suspensivos:

      Nota:
      la posición de los puntos suspensivos depende del sistema operativo. En el ejemplo anterior (Windows), se añade al lado derecho del texto. En OS X, se añaden los puntos suspensivos en medio del texto.
    • Cuando la opción está desactivada, si el contenido de una celda excede el ancho de la columna, simplemente se recorta sin añadir puntos suspensivos:

      La opción Truncar con puntos suspensivos está seleccionada por defecto y se puede especificar con list boxes de tipo Array o Selección.

    La opción Truncar con puntos suspensivos también está disponible por separado para cada columna o pie de list box. Para más información, consulte la sección Propiedades específicas de columnas de list box

Este tema reúne las propiedades relativas a los colores de fondo de las líneas así como también al estilo del borde.

  • Color de fondo: permite definir el color de fondo específico del list box. Este color se utiliza para todo el objeto a excepción de los encabezados (si se muestran).
  • Color de fondo alterno: permite definir un color de fondo diferente para las líneas impares del list box. Utilizar un color de fondo alterno facilita la lectura de los arrays.
  • Array de colores de fondo (list box de tipo array) / Colores de fondo (list box de tipo selección):  permite aplicar un color de fondo personalizado a cada línea del list box. Debe utilizar los valores de colores RGB. Para mayor información, consulte la descripción del comando OBJECT SET RGB COLORS en el manual Lenguaje 4D.
    • Para los list box de tipo array, debe introducir el nombre de un array de tipo entero largo. Cada elemento de este array corresponde a una línea del list box; el array debe tener el mismo tamaño que los arrays asociados a las columnas. Puede utilizar las constantes del tema DEFINIR COLORES RVA. Para aplicar el color de fondo definido en las propiedades del list box a una línea, pase el valor -255 al elemento del array correspondiente.
    • Para los list box de tipo selección, debe introducir una expresión o una variable (excepto para un array). La expresión o variable se evaluará para cada línea mostrada. Puede utilizar el editor de fórmulas para especificar una expresión. Para hacerlo, haga clic en el botón [...] que aparece cuando selecciona el área. Puede utilizar las constantes del tema DEFINIR COLORES RVA.
  • Estilo del borde: permite definir un estilo estándar para el borde (el contorno) del objeto list box.
  • Ocultar líneas vacías adicionales: controla la visualización de las líneas vacías adicionales añadidas en la parte inferior de un objeto list box. Por defecto, 4D añade dichas líneas adicionales para llenar el área vacía:

    Puede eliminar estas líneas vacías marcando esta opción. La parte inferior del objeto list box se deja en blanco:

Este tema agrupa las propiedades estándar de definición del texto mostrado en el list box:

  • Array de estilos (list box de tipo array) / Estilos (list box de tipo selección): permite aplicar un estilo de caracteres personalizado a cada línea del list box.
    • Para los list box de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento de este array corresponde a una fila del list box; el array debe tener el mismo tamaño que los arrays asociados a las columnas. Para llenar el array (utilizando un método), utilice las constantes del tema “Texto”. Sumando las constantes, puede combinar estilos. Para aplicar el estilo definido en las propiedades del list box a una fila, asigne el valor -255 al elemento del array correspondiente.
    • Para los list box de tipo selección, debe introducir una expresión o una variable (excepto para un array). La expresión o la variable se evaluará para cada línea mostrada. Puede utilizar el editor de fórmulas para definir una expresión. Para hacerlo, haga clic en el botón [...] que aparecer cuando selecciona el área. Puede utilizar las constantes del tema Estilos de fuente.
      El siguiente ejemplo utiliza un nombre de variable: entre EstiloEmpresa en el área Estilos y en el método de formulario, escriba el siguiente código:
       EstiloEmpresa:=Choose([Empresas]ID;Bold;Plain;Italic;Underline)
  • Array de colores de fuente (list box de tipo array) / Colores de fuente (list box de tipo selección): permite aplicar un color de fuente personalizado a cada fila del list box. Debe utilizar los valores de colores RGB. Para mayor información consulte la descripción del comando OBJECT SET RGB COLORS en el manual Lenguaje de 4D.
    • Para los list box de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento de este array corresponde a una línea del list box; el array debe tener el mismo tamaña que los arrays asociados a las columnas. Puede utilizar las constantes del tema DEFINIR COLORES RVA. Para aplicar el color de fuente definido en las propiedades de la list box a una línea, pase el valor -255 al elemento del array correspondiente.
    • Para los list box de tipo selección, debe introducir una expresión o una variable (excepto para un array). La expresión o variable se evaluará para cada línea mostrada. Puede utilizar el editor de fórmulas para definir una expresión. Para hacerlo, haga clic en el botón [...] que aparece al seleccionar el área. Puede utilizar las constantes del tema DEFINIR COLORES RVA.
      El siguiente ejemplo utiliza un nombre de variable: introduzca ColorEmpresa en el área Color de fuente y en el método de formulario, escriba el siguiente código:
       ColorEmpresa:=Choose([Empresas]ID;Default background color;Default light shadow color;Default foreground color;Default dark shadow color)
  • Alineación horizontal: el contenido de cada celda se puede alinear horizontalmente hacia la Derecha, Izquierda o Centro.
    La opción Por defecto define la alineación en función del tipo de datos que se encuentran en cada columna: los textos y las imágenes se alinean a la izquierda, los datos numéricos a la derecha..
  • Alineación vertical: el contenido de cada celda se puede alinear verticalmente hacia Arriba, Centro o Abajo.
    La opción Por defecto define la alineación de acuerdo con el tipo de datos que se encuentran en cada columna: Abajo para todos los datos excepto imágenes, Arriba para los datos de tipo imagen. 

Note que las propiedades de alineación pueden aplicarse globalmente al list box o por separado para cada columna. Ellos también están disponibles para las áreas de encabezados y pies.

Este tema reúne las propiedades relativas al comportamiento dinámico del list box.

  • Método del objeto (Editar...): este botón muestra el método del objeto list box (observe que cada columna también puede contener un método de objeto).
  • Arrastrable y Soltable: activa las funciones arrastrar y soltar del list box, permitiendo arrastrar una fila del list box hacia otro list box u otro objeto 4D y viceversa. Sólo las filas del list box se pueden arrastrar y soltar. No es posible arrastrar y soltar las columnas (no obstante es posible arrastrar las columnas al interior de un mismo list box).
    La gestión efectiva de arrastrar y soltar en los list box se efectúa con la ayuda de mecanismos estándar de 4D (eventos de formulario On Drop y On Drag Over, comandos DRAG AND DROP PROPERTIES y Drop position).    
  • Filas desplazables (list box de tipo array únicamente): autoriza el desplazamiento de líneas en ejecución. Esta opción está seleccionada por defecto. Esta opción no está disponible para los list box de tipo selección ni para los list box en modo jerarquico (opción List box jerárquico seleccionada).
  • Ordenable: permite ordenar los datos de las columnas al hacer clic en el título. Esta opción está seleccionada por defecto.
    Los arrays de tipo imagen (columnas) no pueden ordenarse utilizando este mecanismo.
    En los list boxes basados en las selecciones de registros, únicamente está disponible la función de ordenación estándar:
    • cuando la fuente de datos es la Selección actual,
    • con las columnas asociadas a los campos (de tipo alfa, numérico, fecha, hora o booleano).
    En los otros casos (list box basados en las selecciones temporales, columnas asociadas con las expresiones), la función de ordenación estándar no está disponible.
    La ordenación estándar del list box modifica el orden de la selección actual en la base de datos. Sin embargo, los registros seleccionados y el registro actual no cambian.
    La ordenación estándar sincroniza todas las columnas del list box, incluyendo las columnas calculadas.

La opción Área de desplazamiento presente en este tema está diseñada para acompañar la conversión de las antiguas "áreas de desplazamiento", automáticamente transformadas en list boxes a partir de 4D v13. Sin embargo, está disponible para todos los list boxes:


Cuando la opción Área de desplazamiento es seleccionada por un list box, las siguientes operaciones específicas se implementan:

  • Si el array (único) del list box tiene la propiedad "invisible", el objeto list box también es completamente invisible.
  • Asignar un valor al array selecciona la línea correspondiente en el list box (por ejemplo: MiArray:=5 selecciona la quinta línea del list box).
  • Por el contrario, hacer clic en una línea del objeto modifica el valor actual del array.
  • Cuando un soltar se efectúa desde una línea del list box en un objeto externo, el comando DRAG AND DROP PROPERTIES ejecutado en este objeto devuelve un puntero al array del list box (y no al list box mismo).

Los list boxes que vienen de la conversión de las antiguas áreas de desplazamiento agrupadas están conectados. Los list box conectados funcionan de manera coordinada:

  • la selección de una línea en un list box selecciona esta misma línea en todos los list box que pertenecen al grupo conectado,
  • el desplazamiento vertical de un list box también desplaza los list box que pertenecen al mismo grupo conectado.

Nota: los list box convertidos también se agrupan en el formulario (función estándar de 4D).

Puede conectarse y desconectarse de los list box utilizando los comandos Conectar y Desconectar que se encuentran en el menú Objeto del editor de formularios:

Estos comandos se habilitan contextualmente cuando varios list box están seleccionados en el formulario. Cuando un list box conectado (es decir, que pertenece a un grupo de conexión) está seleccionado, una "marca" específica se muestra en todos los list box que pertenecen al mismo grupo de conexión:

Nota de compatibilidad: estos principios hacen posible reproducir el funcionamiento de las áreas de desplazamiento agrupadas. Sin embargo, le recomendamos adaptar los formularios convertidos utilizando las funcionalidades estándar de los list box.



Ver también 


 
PROPIEDADES 

Producto: 4D
Tema: List boxes

 
HISTORIA 

New
Modificado: 4D v16

 
ARTICLE USAGE

Manual de Diseño ( 4D v16)
Manual de Diseño ( 4D v16.1)
Manual de Diseño ( 4D v16.3)