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.
Creación
Podemos crear una rejilla avanzada de dos modos:
1) Hacer doble clic sobre el icono correspondiente a la rejilla avanzada de la galería de objetos (Tecla Insert) de Velneo vDevelop.
2) A partir de una rejilla: 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. Esto hará que se cree una rejilla avanzada con las mismas columnas que la rejilla original.
Propiedades
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
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 ítems arrastrados serán quitados de la misma tras ejecutar el evento de drop.
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.
Optimizado
Si activamos esta opción, el sistema reducirá el número de conexiones con el servidor que requieren determinados tipos de campo (singular, indirecto virtual, indirecto real y hermano contiguo) y fórmulas con campos de maestros o funciones de proceso.
Si el estilo está activado, primero se presentará la rejilla y luego se harán los cálculos de dichas columnas. En caso contrario, hará ambas cosas al mismo tiempo.
Personalizable
Si activamos este estilo, el objeto podrá ser reemplazado por otro del mismo tipo en tiempo de ejecución mediante un objeto reemplazo.
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
Los valores posibles son:
Verdadero
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.
Falso
No se creará la cabecera de agrupamientos.
Cabecera de columnas
Los valores posibles son:
Verdadero
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.
Falso
No se incluirá la columna de selección de campos.
Auto anchura
Los valores posibles son:
Verdadero
Si activamos esta propiedad, la anchura de la rejilla cambiará para adaptarse al Tamaño de la ventana que la contenga.
Cuando se activa esta propiedad la última columna no admite redimensionamiento, hay que cambiar el tamaño de las demás para que ésta se ajuste a su vez.
Falso
El ancho de la rejila no será adaptativo.
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
Los valores posibles son:
Verdadero
Se activará un método de refresco que permite desplazarse por la rejilla más rápidamente, difiriendo la actualización de los datos.
Falso
No se activará el método de refresco.
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
Estilo estándar de la rejilla avanzada.
Office 11
Estilo tipo Office. Tiene las siguiente particularidades:
Al hacer clic sobre una cabecera crea un agrupamiento.
La celda de la columna de multiselección visualmente entrara a formar parte de la fila.
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
Los pies de rejilla nos permiten añadir una sección al final de la misma donde se pueden mostrar cáculos totales globales de la rejilla avanzada. Los valores posibles son
Verdadero
El pie de dejilal será visible.
Falso
El pie de la rejilla no será visible.
Pie de grupo visible
Los pies de grupo permiten añadir una sección al final de cada agrupamiento para totalizar datos del mismo. Los valores posibles son:
Verdadero
Se mostrarán los pies de los agrupamientos.
Falso
No se mostrarán los pies de los agrupamientos.
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.
Ambas 2D
Otro estilo que muestra tanto las líneas horizontales y verticales.
Horizontal
Se mostrarán solamente las líneas horizontales de las celdas.
Vertical
Se mostrarán solamente las líneas verticales de las celdas.
Vertical 2D
Otro estilo que mostrará solamente las líneas verticales de las celdas.
Cómo se verá cada estilo dependerá directamente el estilo visual con el que estemos ejecutando la aplicación (sistema, fusión, etc.).
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
Se usará un color de fondo diferente para las líneas pares e impares.
Falso
El color de fondo será el mismo para todas las líneas.
Los colores se configuran en otras propiedades que veremos más adelante.
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.
Menú de contexto
Esta propiedad solamente estará disponible cuando el valor de la propiedad anterior 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.
Multiselección
Esta propiedad tiene dos valores posibles:
Falso
La rejilla avanzada no tendrá multiselección.
Verdadero
Permitirá que en tiempo de ejecución se pueda realizar una selección múltiple de registros en la rejilla avanzada.
Alto de cabecera
Altura, en píxels, que tendrá la sección de la cabecera de la rejilla. Si aplicamos un valor 0, hará que tanto en edición como ejecución se calcule su tamaño automáticamente en función del tipo de letra y aplicándose los márgenes por defecto del estilo visual usado.
Color de cara de cabecera
La cabecera de una rejilla es creada a modo de botón tridimensional. En esta propiedad seleccionaremos el color de la cara de la cabecera. Por defecto, se tomará el color para ventana de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Esta propiedad no es funcional en todos los estilos visuales.
Color de fondo de cuerpo
En esta propiedad seleccionaremos el color de fondo del cuerpo. Por defecto, se tomará el color base de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de fondo par de cuerpo
En esta propiedad seleccionaremos el color de fondo para las líneas pares del cuerpo. El color seleccionado en la propiedad anterior será el que se use para las líneas impares. Por defecto, se tomará el color base alternativo de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Esta propiedad no será funcional si la propiedad de la rejilla alternar colores líneas de datos está a falso.
Cabecera vertical on/off
Esta propiedad sólo es visible si la propiedad multiselección tiene el valor verdadero. Nos permite hacer que la cabecera vertical se comporte como si fuese un checkbox que permite marcar y desmarcar el registro haciendo clic de ratón en dicha columna. Si esta propiedad está desactivada, los registros los seleccionaremos haciendo clic con el puntero del ratón y manteniendo pulsada la tecla control, si se desean añadir más registros a la selección.
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 siguiente:
Privado
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.
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 sub-objetos también podemos crear bandas, ver el capítulo dedicado a las bandas para conocer cómo se han de configurar.
Añadir campos a la rejilla
Esta funcionalidad nos ahorrará mucho tiempo a la hora de añadir campos a una rejilla que ya existe, ya que permite añadir varios campos a la misma de una sola vez haciendo drag & drop.
Para ello no tenemos más que seleccionar en el árbol de campos los campos a incluir en la rejilla, arrastrarlos y soltarlos en el punto dela rejilla donde queremos añadirlos.
Si soltamos sobre una columna, se añadirán los campos a la izquierda de esta.
Si soltamos sobre el área vacía a la derecha de la rejilla, se añadirán a la derecha de la última columna.
Por cada campo se creará una columna.
Para facilitar la maquetación de la rejilla al desarrollador, se aplicarán siempre unos valores por defecto para las propiedades de las columnas en función del tipo de campo, como ancho, alineamiento horizontal y vertical y formato numérico.
Para seleccionar los campos en el árbol de campos:
Si queremos seleccionar un bloque continuo de campos lo que haremos será situar el foco en el primero de ellos y, con la tecla Shift pulsada, con las teclas de cursor arriba y abajo avanzar hasta el último campo que se quiere seleccionar.
Lo anterior también podemos hacerlo si hacemos clic con el ratón sobre el primer campo a seleccionar, pulsamos la techa Shift y, sin soltarla, hacemos clic con el ratón sobre el último campo a seleccionar.
Si queremos seleccionar campos alternos, entonces lo haremos manteniendo pulsada la tecla Control y haciendo clic con el ratón sobre cada campo a seleccionar.
Si tenemos seleccionado uno o varios campos y queremos seleccionar otro bloque, pulsar la tecla Control y la techa Shift de forma simultanea y, sin soltarlas, hacer clic sobre el primer campo a seleccionar y luego sobre el último. De este modo, el bloque seleccionado se añadirá a la selección.
Si quieres conocer las propiedades de columna de una rejilla avanzada, haz clic aquí.