Rejilla avanzada

La rejilla avanzada es un objeto que sirve para presentar listas de registros de las tablas. La rejilla avanzada siempre va asociada a una tabla de un proyecto de datos heredado. El flujo es Lista de la tabla asociada tanto para la entrada como para la salida.

La rejilla está compuesta por una serie de celdas distribuidas en forma de filas y columnas. Una fila se corresponde con un registro de una tabla y una columna con un campo de la tabla. Una celda, por tanto, permitirá mostrar un dato concreto de un registro concreto de la tabla.

Dispone de las siguientes funcionalidades:

Agrupamientos múltiples

Agrupar por una columna consiste en formar grupos con las fichas de la lista que tengan el mismo valor en esa columna. La rejilla se convierte entonces en un árbol con los distintos valores de la columna en los nodos primarios que, al abrirlos, despliegan las fichas de su grupo.

Se podrá agrupar por más de una columna, pasando a tener el árbol más niveles.

Totales y Subtotales

Es posible tanto declarar pies con totales globales a la rejilla como pies de los agrupamientos con subtotales; pudiendo realizarse en las columnas cálculos tales como sumas, máximo, mínimo, número de elementos y porcentaje.

Bandas

Permiten agrupar varias columnas con distintas dimensiones.

Menú de columnas

Permite al usuario mostrar u ocultar columnas de la rejilla en tiempo de ejecución.

Fijar columnas a izquierda/derecha

Esta funcionalidad permite fijar columnas de modo que no se vean afectadas por el scroll horizontal, permaneciendo fijas a izquierda y/o derecha mientras movemos el resto de columnas a la izquierda o a la derecha.

Dado que este objeto carece de editor propio, para crear una rejilla avanzada aconsejamos partir de una rejilla que contenga los campos que nos interesen.

Para ello seleccionar la rejilla deseada en el panel central de vDevelop y hacer doble clic sobre el icono correspondiente a la rejilla avanzada de la galería de objetos (Tecla Insert) de Velneo vDevelop.

Sus propiedades son:

Identificador

Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.

Nombre

Etiqueta alfanumérica que servirá como descriptor de la rejilla avanzada. Es el texto que se presentará al usuario final de la aplicación para referenciarla.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir los estilos siguientes:

Privado

Limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Arrastrable para copiar

Cuando la rejilla avanzada va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados no serán quitados de la misma tras ejecutar el evento de drop.

Arrastrable para mover

No está activa esta funcionalidad en la rejilla avanzada.

Simple-click dispara

Si la rejilla avanzada tiene asociado un formulario de modificación si este estilo está activado al hacer un clic sobre un ítem de la misma éste será editado en el formulario correspondiente. Si este estilo está desactivado el usuario tendrá que hacer doble clic para editar la ficha.

Sin barra de título (Sólo diálogos)

Permite omitir la barra de título de la ventana. Solamente funcional en cuadros de diálogo.

Sin menú de sistema

Permite omitir el menú de sistema de la ventana.

Sin botón maximizar

Permite ocultar el botón maximizar de la ventana.

Sin botón minimizar

Permite ocultar el botón minimizar de la ventana.

Sin botón cerrar

Permite ocultar el botón de cierre de la ventana.

Comentarios

Esta propiedad nos permite documentar el uso de la avanzada.

Tabla asociada

Tabla de un proyecto de datos heredado cuyos registros van a ser visualizados en la rejilla avanzada.

Cabecera de grupos

Si activamos esta propiedad, en la rejilla se incluirá una cabecera en la que el usuario, en tiempo de ejecución, podrá crear agrupamientos por la columna o columnas que desee.

Los valores posibles son verdadero o falso.

Cabecera de columnas

Si activamos esta propiedad, en la rejilla se incluirá una columna desde la cual el usuario podrá activar/desactivar la visualización de columnas de la rejilla.

Los valores posibles son verdadero o falso.

Auto anchura

Si activamos esta propiedad, la anchura de la rejilla cambiará para adaptarse al Tamaño de la ventana que la contenga.

Los valores posibles son verdadero o falso.

Alto de celdas

En esta propiedad especificaremos el tamaño en píxels que tendrán las celdas del encabezado de la rejilla.

Fast scroll

Método de refresco que permite desplazarse por la rejilla más rápidamente, difiriendo la actualización de los datos. Los valores posibles son verdadero o falso.

Estilo de grupos

En esta propiedad especificaremos el estilo visual que se aplicará a los grupos que se generen en la rejilla.

Los valores posibles son estándar u office 11.

Alto de grupos

En esta propiedad podremos especificar la altura en píxels de cada encabezado de grupo que se muestre en la rejilla. Si establecemos un tamaño menor a la altura del texto que deba contener, el encabezado de grupo automáticamente se redimensionará a la altura mínima necesaria.

Pie de rejilla visible

En esta propiedad indicaremos si queremos mostrar o no pies para calcular totales globales en la rejilla avanzada.

Los valores posibles son verdadero o falso.

Pie de grupo visible

En esta propiedad indicaremos si queremos mostrar o no pies para calcular totales de agrupamientos que se generen en la rejilla avanzada.

Los valores posibles son verdadero o falso.

Estilo líneas de rejilla

: En esta propiedad podemos configurar el modo en el que se mostrarán las líneas que dividen las celdas de la rejilla avanzada. Los valores posibles son:

  • Ninguna: No se mostrará ninguna línea.

  • Ambas: Se mostrarán tanto las líneas horizontales como las verticales de las celdas.

  • Horizontal: Se mostrarán solamente las líneas horizontales de las celdas.

  • Vertical: Se mostrarán solamente las líneas verticales de las celdas.

Grosor líneas de rejilla

En esta propiedad se configura el grosor que tendrán las líneas de la rejilla. El valor se especifica en píxels. El valor por defecto es 1.

Color líneas de rejilla

En esta propiedad seleccionaremos el color de las líneas de la rejilla avanzada. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

Alternar colores líneas de datos

Esta propiedad permite configurar si queremos que el color de fondo de todas las líneas sea el mismo o si, por el contrario, queremos que se use un color diferente para las líneas pares e impares.

Los valores posibles son verdadero o falso.

Formulario de alta

Formulario del proyecto en curso o de un proyecto heredado que será usado para dar de alta una ficha desde la rejilla avanzada. Para que el formulario esté accesible para el usuario final será necesario que, o bien la rejilla tenga asociado el menú de contexto por defecto, por defecto extendido, o tenga asociada un menú personalizado o una toolbar que incluya una acción que use el comando ficha: formulario de alta.

Formulario de modificación

Formulario del proyecto en curso o de un proyecto heredado que será para editar una ficha desde la rejilla avanzada. Para que el formulario esté accesible para el usuario final será necesario que, o bien la rejilla tenga asociado el menú de contexto por defecto, por defecto extendido, o tenga asociada un menú personalizado o una toolbar que incluya una acción que use el comando ficha: formulario de modificación.

Formulario de baja

Formulario del proyecto en curso o de un proyecto heredado que será para eliminar una ficha desde la rejilla avanzada. Para que el formulario esté accesible para el usuario final será necesario que, o bien la rejilla tenga asociado el menú de contexto por defecto, por defecto extendido, o tenga asociada un menú personalizado o una toolbar que incluya una acción que use el comando ficha: formulario de baja.

Tipo de menú de contexto

El menú de contexto es el que aparece cuando el usuario final hace clic con el botón derecho del ratón. Los valores posibles son:

  • Ninguno: La rejilla avanzada carecerá de menú de contexto.

  • Por defecto: La rejilla avanzada dispondrá de un menú de contexto creado automáticamente por el sistema, que contendrá las opciones siguientes:

    • Alta de ficha: Si la rejilla avanzada tiene asociado un formulario de altas, lo abrirá para que el usuario pueda añadir una ficha.

    • Modificación de ficha: Editará la ficha seleccionada en el formulario de modificación asociado a la rejilla avanzada.

    • Baja de ficha: Abrirá el formulario de bajas asociado a la rejilla avanzada.

    • Invertir: Invierte el orden de la lista, usando para ello el campo por el que se encuentra ordenada.

    • Filtrar: Permite al usuario establecer y aplicar un filtro a la rejilla avanzada.

    • Ordenar: Permite al usuario ordenar la lista por el campo que elija.

    • Quitar de la lista el seleccionado: Quita de la rejilla avanzada el registro que el usuario tenga seleccionado. No lo borra físicamente, sino que simplemente lo quita de la lista.

  • Por defecto extendido: La rejilla avanzada dispondrá de un menú de contexto creado automáticamente por el sistema que, además de las opciones del menú por defecto, incluye las siguientes:

    • Modificar campo…

      : Permitirá al usuario modificar un campo de todos los registro de la lista.

    • Modificar campo si…: Permitirá al usuario modificar un campo de todos los registro de la lista que cumplan una determinada condición.

    • Exportar a XML: Permitirá al usuario exportar los registros de la lista a un fichero XML.

  • Personalizado: El menú de contexto de la rejilla avanzada será un objeto menú contenido en el proyecto.

Esta propiedad solamente estará disponible cuando el valor de la propiedad Tipo de menú de contexto sea personalizado. Nos permitirá seleccionar el objeto menú que queramos usar como menú de contexto de la rejilla avanzada.

Toolbar

Si seleccionamos una toolbar en este parámetro, cada vez que usemos esta rejilla, ésta llevará embebida la toolbar seleccionada, que podrá situarse, o bien encima o bien debajo de la rejilla.

Timer (Milisegundos)

Es un reloj que permitirá ejecutar automáticamente uno o varios manejadores de evento declarados en la rejilla avanzada de forma periódica. En este parámetro se indicará el tiempo, en milisegundos, para cada iteración del timer. Si el valor es 0, querrá decir que no se activará el timer.

Si queremos añadir una banda a la rejilla avanzada, pulsaremos (Control +N) de la barra de herramientas del panel de sub-objetos y, en el menú que se despliega, seleccionaremos la opción Banda.

Columna

En este sub-objeto definiremos qué información irá en una columna de una rejilla avanzada. Sus propiedades son:

Identificador

Etiqueta alfanumérica que identifica la columna de la rejilla avanzada. Este identificador será el que se usa para referenciarla en los inspectores y en las propiedades de otros objetos.

Nombre

Etiqueta alfanumérica que servirá como descriptor de la columna. Es el texto que se presentará al usuario final de la aplicación como título de la columna en el caso de que no se haya establecido valor alguno en la propiedad contenido cabecera. Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso de la columna de la rejilla.

Ancho

Anchura, en píxels, de la columna.

Alineamiento horizontal

Permite configurar la forma en la que el texto de la columna será alineado entre los márgenes izquierdo y derecho de la celda. Los valores posibles son:

  • Izquierda

  • Derecha

  • Centrado

  • Justificado

Alineamiento vertical

Permite configurar la forma en la que el texto de la columna será alineado entre los los márgenes superior e inferior de la celda. Los valores posibles son:

  • Arriba

  • Abajo

  • Centrado

Modo elipsis

Indica por qué lado se recorta el contenido de la columna cuando no cabe. Los valores posibles son:

  • Izquierda

  • Derecha

  • Centrado

  • Ninguno

Icono

En esta propiedad permite presentar, en el título de la columna, un dibujo a modo de icono.

Aspecto icono

En esta propiedad se configura cómo se mostrará el icono de la propiedad anterior. Los valores posibles son:

  • Invisible: No se mostrará.

  • Solo: Se mostrará solamente el icono y no el título.

  • Izquierda: El icono se mostrará a la izquierda del título.

  • Derecha: El icono se mostrará a la derecha del título.

Contenido cuerpo

En esta propiedad indicaremos qué es lo que va a mostrarse en esa columna mediante una fórmula, que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Si en la fórmula especificamos únicamente un campo, la columna será tratada según el tipo de campo. Es decir, si el campo es numérico, el contenido de la celda será un número, por lo que, al reordenar por dicha columna, su contenido será ordenado numéricamente; si es un campo alfabético, al reordenar por la columna se ordenará por orden alfabético.

En el caso de que en el parámetro no especifiquemos un campo sino una fórmula con varios campos, variables, etc., el resultado, sea del tipo que sea, siempre será tratado como cadena.

Fuente texto cuerpo

En esta propiedad seleccionaremos la fuente que se usará para el texto del cuerpo de la columna. Pulsar el botón que aparece al editar esta propiedad para abrir el selector de fuentes.

Color texto cuerpo

En esta propiedad seleccionaremos el color del texto del cuerpo de la columna. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

Pie: tipo de cálculo

En esta propiedad se configura qué tipo de cálculo global se mostrará en el pie de la rejilla. Los valores posibles son:

  • Ninguno: No se realizará ningún cálculo en el pie de rejilla.

  • Suma: Para columnas con datos numéricos. Realizará el sumatorio de todos los elementos de esta columna en el pie de la rejilla.

  • Menor: Mostrará el contenido del elemento menor de la columna, de entre todos los registros de la rejilla.

  • Mayor: Mostrará el contenido del elemento mayor de la columna, de entre todos los registros de la rejilla.

  • Porcentaje: Devuelve la media aritmética de todos los elementos de la columna.

Grupo: tipo de cálculo

En esta propiedad se configura qué tipo de cálculo se mostrará en el pie de un agrupamiento. Los valores posibles son:

  • Ninguno: No se realizará ningún cálculo en el pie del agrupamiento.

  • Suma: Para columnas con datos numéricos. Realizará el sumatorio de todos los elementos del agrupamiento en el pie del mismo.

  • Menor: Mostrará el contenido del elemento menor de la columna, de entre todos los registros del agrupamiento.

  • Mayor: Mostrará el contenido del elemento mayor de la columna, de entre todos los registros del agrupamiento.

  • Porcentaje: Devuelve la media aritmética de todos los elementos de la columna.

En los pies, el formato con que se muestra el dato se corresponde con el formato local, es decir, al idioma seleccionado en la aplicación, con lo que se aplicará la configuración para la coma decimal, el separador de miles, etc., de tal forma que el resultado numérico se muestre de la forma más legible posible para el usuario final.

Fijar horizontalmente

En esta propiedad podemos configurar si queremos que la columna se mantenga siempre visible al hacer scroll horizontal. Los valores posibles son:

  • No: La columna no será fijada al hacer scroll horizontal.

  • Izquierda: La columna será fijada a la izquierda de la pantalla al hacer scroll horizontal.

  • Derecha: La columna será fijada a la derecha de la pantalla al hacer scroll horizontal.

Banda madre

Por medio de esta opción podremos agrupar la columna dentro de una banda declarada en la rejilla.

Row index

Esta propiedad estará visible solamente si hemos seleccionado una banda en la propiedad Banda madre. Cuando se asigna una banda a la columna, fila dentro de la banda en que se mostrará. Comienza a contar en 0.

Row span

Esta propiedad estará visible solamente si hemos seleccionado una banda en la propiedad Banda madre. Cuando se asigna una banda a la columna, filas que ocupará además de la que le corresponde.

Número de grupo

Permite que la rejilla por defecto agrupe por esta columna. Se pueden asignar distintas niveles de agrupamiento, indicando distintos números de grupo para distintas columnas, que indican el orden en el que se realizan.

Condición de estilo

A través de este subobjeto se podrá modificar el estilo de visualización de una celda (fuente, color, etc.) en función de una condición.

Sus propiedades son las siguientes:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca al subobjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso del objeto.

Fórmula de condición

Permite establecer la condición que se ha de cumplir para que el estilo sea aplicado a una celda de la columna, en base a una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Fuente

En esta propiedad seleccionaremos la fuente que se aplicará a la celda si se cumple la condición establecida en la propiedad anterior. Pulsar el botón que aparece al editar esta propiedad para abrir el selector de fuentes.

Color de texto

En esta propiedad seleccionaremos el color que se aplicará al texto de la celda si se cumple la condición establecida. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

Color de fondo

En esta propiedad seleccionaremos el color que se aplicará al fondo de la celda si se cumple la condición establecida. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

Es posible crear más de una condición de estilo para una misma columna. Lo habitual es se apliquen condiciones excluyentes, por ejemplo, una para aplicar a los valores positivos de un campo y otra para aplicar a los valores negativos del mismo. Pero, en el caso de que las condiciones especificadas no sean excluyentes, es decir, que un mismo registro cumple más de una de las condiciones establecidas, la que prevalecerá será la que se encuentre más arriba en la lista de condiciones de estilo establecidas.

Subindexador

El subindexador es un sub-objeto de controles de edición de campos enlazados a maestro. Permite realizar una búsqueda más selectiva en los mismos. Para ello se deberá hacer uso de un índice de la tabla maestra compuesto en primer lugar por el campo o campos de la tabla maestra que condicionarán la búsqueda y en último término por el campo por el que se recorrerá la tabla maestra; el campo que se editará en el formulario.

Por ejemplo, supongamos que tenemos dos tablas enlazadas PAISES y PROVINCIAS y queremos que en una columna de una rejilla avanzada de otra tabla histórica de ambas podamos, en la celda donde se edita el campo NAME de la provincia, usando los microscrollers, ir recorriendo solamente las provincias del país seleccionado. Para ello deberíamos tener un índice en la tabla de PROVINCIAS compuesto por el campo enlazado a PAISES y por el campo NAME de la provincia:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso del objeto.

Índice

Esta propiedad seleccionaremos el índice de la tabla enlazada que queremos usar para realizar la subindexación.

Resolución de partes del índice

En esta propiedad resolveremos aquellos campos del índice seleccionado que usaremos para llevar a cabo la subindexación. Pulsar el botón que aparece al ganar el foco esta propiedad para resolverlos. Esto hará que se abra una ventana que contendrá todos los componentes del índice que debamos resolver, los resolveremos uno a uno mediante una fórmula.

Condición de activo

Permite especificar una condición para que el subindexador sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad. Si no se cumple la condición el control de edición del campo maestro funcionará de la forma habitual es decir, al usar los microescrollers del control de edición se recorrerá la tabla maestra completa. Lo habitual será usar como condición que el campos/variables usados para resolver los componentes de la subindexación tengan algún valor.

Banda

Sub-objeto de la rejilla avanzada que permite agrupar varias columnas con distintas dimensiones.

Sus propiedades son las siguientes:

Identificador

Etiqueta alfanumérica que identifica la banda. Este identificador será el que se usa para referenciarla en los inspectores y en las propiedades de otros objetos.

Nombre

Etiqueta alfanumérica que servirá como descriptor de la columna. Es el texto que se presentará al usuario final de la aplicación como título de la columna en el caso de que no se haya establecido valor alguno en la propiedad contenido cabecera. Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso de la columna de la rejilla.

Ancho

Anchura, en píxels, que tendrá de la banda.

Alineamiento horizontal texto

Permite configurar la forma en la que el texto de la banda será alineado entre los márgenes izquierdo y derecho de la banda. Los valores posibles son:

  • Izquierda.

  • Derecha.

  • Centrado.

  • Justificado.

Alineamiento vertical texto

Permite configurar la forma en la que el texto será alineado entre los los márgenes superior e inferior de la banda. Los valores posibles son:

  • Arriba.

  • Abajo.

  • Centrado.

Título

Permite establecer un texto dinámico como título de la banda. Para ello podremos usar el asistente para edición de fórmulas. Pulsar el botón que aparece al editar esta propiedad para abrirlo.

Banda madre

Mediante esta opción podremos agrupar la banda actual dentro de otra banda definida con anterioridad.

Las bandas no se previsualizan en el editor de rejillas avanzadas de Velneo vDevelop.

Una vez creada una banda, debemos editar las propiedades de cada columna de la rejilla avanzada que queramos incluir en ella y seleccionar la banda en la propiedad del mismo nombre.

Editor de rejillas avanzadas

Velneo vDevelop incorpora un editor para facilitar la modificación de las propiedades de una rejilla. Para abrirlo bastará con hacer doble clic sobre un objeto de tipo rejilla y será mostrado en el panel central de Velneo vDevelop. Se muestra una previsualización de la rejilla avanzada en el dock central y sus propiedades en el panel de propiedades de Velneo vDevelop.

Para editar las propiedades de una columna, simplemente bastará con hacer un clic sobre la cabecera de la misma en el editor de rejillas.

Podremos cambiar el ancho de una columna haciendo clic con el puntero del ratón sobre el margen derecho de una celda y, sin soltar el botón del ratón, desplazándolo a izquierda o derecha:

Además, el editor de rejillas avanzadas incluye una toolbar que incluye los comandos siguientes:

En edición, podemos crear agrupamientos en una rejilla avanzada, para ello haremos clic en la cabecea de la columna por la que deseamos crear un agrupamiento, y la arrastraremos hacia la banda superior:

Al soltar, se previsualizará el agrupamiento:

Agrupar por una columna consiste en formar grupos con las fichas de la lista que tengan el mismo valor en esa columna. La rejilla se convierte entonces en un árbol con los distintos valores de la columna en los nodos primarios que, al abrirlos, despliegan las fichas de su grupo.

Se podrá agrupar por más de una columna, pasando a tener el árbol más niveles.

Desde el panel de subobjetos también podemos crear bandas, ver el capítulo dedicado a las bandas para conocer cómo se han de configurar.

Última actualización