El árbol visor de tablas arboladas es un objeto que sirve para presentar, en distintos niveles, la información de una tabla de datos maestra con clave arbolada.
Este tipo de tabla tiene por defecto un campo ID de tipo Alfa-40 de 2 a 8 bytes (3 a 12 caracteres máximo), pero puede tener definido cualquier tipo de campo alfanumérico, y un índice correspondiente ID de clave única, además de un campo NAME de tipo Alfa-128 de longitud 35 bytes.
Será el usuario final de la aplicación quien establezca la codificación de los registros de la tabla. El número de caracteres por nivel será también una decisión del usuario final. Al tratarse de un campo alfanumérico, se podrán usar tanto letras como números para codificar los registros de la misma.
Así, todos los registros de la tabla se encuentran identificados de forma unívoca por medio del campo ID que tiene un valor que no se repite y cuyo límite máximo puede ir desde 3 a 12 caracteres, pudiendo de esta forma referenciar hasta 2.676.111.755.885.568.000 registros.
Las tablas maestras con clave arbolada son maestras de sí mismas enlazando por su campo ID que se abre en nuevas ramas por cada carácter.
Los árboles presentan la información de este tipo de tablas de una forma gráfica (se incluyen líneas, imágenes…), visualizando de forma clara los niveles en los que se encuentra estructurada la información.
En el proyecto de datos de vTutor se ha creado una tabla de tipo maestro con clave arbolada llamada SEC-ACT (sectores de actividad) y en el de aplicación es donde se ha creado el árbol.
En este tutor vamos a explicar cómo crear el árbol para esta tabla de SEC-ACT y que tenga embebida una toolbar (1) con comandos que permitan crear, editar o borrar registros de dicho árbol:
El árbol lo encontraremos en la carpeta tablas tutores y buenas prácticas/sectores de actividad/sectores de actividad y se llama SEC_ACT_M.
El objeto será añadido al proyecto y le estableceremos las propiedades siguientes:
Identificador: etiqueta alfanumérica que identifica al objeto. Le daremos el valor SEC-ACT.
Nombre: etiqueta alfanumérica que servirá como descriptor del árbol. Es el texto que se presentará al usuario final de la aplicación para referenciar al árbol. Podemos definir una etiqueta por cada idioma presente en el proyecto. Le asignaremos "Sectores de actividad".
Estilos: podemos definir los estilos siguientes:
Privado que limita el acceso del usuario final a la rejilla.
Heredable, que permite que la rejilla pueda ser usada cuando la caja sea heredada.
Arrastrable para copiar: cuando el árbol va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los ítems arrastrados no serán quitados de la misma tras ejecutar el evento de drop.
Arrastrable para mover: cuando el árbol 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.
En este caso no activaremos ninguno de los estilos.
Comentarios: esta propiedad nos permite documentar el uso del árbol.
Tabla asociada: seleccionaremos la tabla de SEC-ACT, creada en el proyecto de datos heredado.
Ver botones +-: esta propiedad nos permite visualizar u ocultar los botones que aparecen en cada nodo del árbol y que permite desplegar y plegar una rama del árbol, respectivamente:
En este caso estableceremos el valor verdadero.
Ver campo código: esta propiedad nos permite mostrar u ocultar el campo código de cada registro visualizado en cada rama del árbol.
Le asignaremos el valor verdadero.
Orden alfabético: esta propiedad nos permite ordenar el contenido del árbol alfabéticamente.
Formulario de alta, formulario de modificación y formulario de baja: se trata de tres eventos (alta, modificación y baja) en los que podremos asociar el formulario a utilizar en cada uno de ellos, es decir, podremos indicar qué formulario queremos usar para añadir un nuevo registro desde ese árbol (alta), para editar un registro presentado en ese árbol (modificación) y/o para borrar un registro contenido en el árbol (baja); si no especificamos un formulario en uno de esos parámetros, en tiempo de ejecución no podrá dispararse desde el árbol el evento correspondiente. Es decir, que si no asociamos un formulario para altas, no podremos añadir registros desde el evento de formulario de alta de este árbol.
Es muy importante tener el cuenta a la hora de diseñar tanto el formulario de altas como el de modificación de una tabla arbolada que la codificación de los registros de la tabla (el valor del campo ID) no va a ser automática, sino que será realizada por el usuario final en tiempo de ejecución, por tanto, no debemos olvidar permitir editar dicho campo en dichos formularios.
Para un correcto seguimiento de este tutor es aconsejable que los tres eventos tengan asociado un formulario.
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: el árbol carecerá de menú de contexto. Este será el valor que asignaremos.
Por defecto: el árbol dispondrá de un menú de contexto creado automáticamente por el sistema.
Personalizado: el menú de contexto del árbol será un objeto menú contenido en la caja.
Toolbar: esta propiedad permite asociar una toolbar al árbol. Por el momento la dejaremos vacía.
En un árbol, además de columnas, podemos crear otra serie de subobjetos, tales como variables locales, eventos, conexiones de eventos y drops.
Al comienzo de este tutor indicábamos que íbamos a crear un árbol con una toolbar embebida que nos permita añadir, editar y/o borrar registros del árbol. Para ello necesitaremos crear tres acciones, una para llamar al formulario de altas, otra para llamar al de modificación y otra para llamar al de bajas, y una toolbar.
La toolbar es una toolbar genérica que hemos creado en vTutor para que pueda ser asignada a cualquier objeto de lista. La toolbar se llama LST y se ha creado en la carpeta recursos/menús contextuales/menú contextual de vistas. De esta toolbar nos interesan las tres acciones que nos permiten obtener el formulario de altas, de modificación y de bajas del árbol.
Estas se llaman: LST_FRM_ALT (para disparar el formulario de altas del árbol), LST_FRM_MOD (para disparar el formulario de modificación del árbol) y LST_FRM_MOD (para disparar el formulario de bajas del árbol). Las tres son muy similares. Veamos las propiedades de una de ellas:
De las propiedades cabe destacar que en la propiedad tabla asociada no tiene asociada ninguna tabla. Esto se así porque así la acción podrá ser usada en cualquier objeto de lista de cualquier tabla. Si le asociásemos una tabla, entonces su uso quedaría restringido a los objetos de lista de una única tabla.
El comando a disparar por la acción se establece en la propiedad comando. En esta acción se ha usado el comando ficha: formulario de alta. Este comando disparará el formulario de altas que tengamos establecido en la propiedad del mismo nombre del objeto. Si el árbol no tuviese asociado un formulario de atlas, esta acción no dispararía ningún formulario.
Las otras dos acciones son idénticas, pero una llama al formulario de modificación y otra al de bajas.
La toolbar se la asignaremos al árbol en la propiedad toolbar. Tras asociar la toolbar al árbol en la propiedad posición debemos especificar dónde queremos la toolbar arriba o abajo. Seleccionaremos arriba.
Finalmente, en el proyecto hemos añadido una búsqueda de la tabla de sectores de actividad y la hemos usado para cargar el árbol de familias en el formulario que se dispara al ejecutar este tutor.
Para crear el árbol, editaremos el proyecto de aplicación con Velneo vDevelop, pulsaremos la tecla Insert para abrir la galería de objetos y haremos doble clic sobre el icono .