Cómo construir un índice tipo agenda

El objetivo de este mini-tutorial es construir en nuestro formulario principal unos «filtros» para que, al pulsar sobre una letra en particular, nos aparezcan en la vista de datos sólo los registros que comiencen por esa determinada letra: podemos usarlo para una agenda telefónica, artículos que comiencen por una letra, etc. Es lo que he denominado «índice tipo agenda«.

Vamos a ver como se construye…

Indice tipo agenda

Objetos necesarios en el proyecto de datos

Lo primero que tenemos que crear en la tabla en cuestión es un campo alfabético de longitud 1. Como soy un tío original… le he llamado LETRA y le pongo como contenido inicial lo siguiente: toUpper(left(#APELLIDO_1, 1))… vamos que coja la primera letra del apellido y me la transforme en mayúscula.

En este caso voy a «filtrar» los registros por la primera letra del apellido.

También voy a crear un índice de este campo para posteriormente poder buscar por él.

Objetos necesarios en el proyecto de aplicación

Aquí vamos a necesitar algunos objetos mas que en el proyecto de datos… pero no creas que tantos.

    • En el formulario donde vayamos a insertar nuestro «índice» crearemos una variable local alfabética para guardar el valor de la letra pulsada… como sigo siendo original la voy a llamar «LETRA»
    • Crearemos un manejador de evento por cada una de las letras que vayamos a poder pulsar en el formulario con el siguiente código:

Pulsa A

Pulsa B

En el primer ejemplo vamos el código necesario para la pulsación de la letra «A» y en el segundo el código necesario para la pulsación de la letra «B»…. para el resto igual cambiando el valor de la variable «LETRA»

    • Tantos botones en el formulario como letras tengamos que pulsar. A cada botón se le asignará el manejador de evento correspondiente creado en el paso anterior y como nombre del botón le pondremos la letra a pulsar

Botones Filtro

    • En la búsqueda que lanzaremos desde el manejador de evento «Refrescar» le añadiremos una variable local alfabética para pasarle el valor del botón pulsado ¿sabes como la he llamado?… pues si «LETRA». Además vamos a condicionar este componente para que no se lance si no hemos pulsado ninguna letra (se mostrarán por defecto todos los registros de la tabla)… Así lo condicionamos

Condicionar componente

    • Por último en el manejador de evento «Refrescar» del formulario, le añadiremos al manejador de objeto que lanza la búsqueda del paso anterior la instrucción para pasarle el valor del botón pulsado: «Set variable local de objeto»

Evento Refrescar

En el evento si no hemos introducido nada en el campo general para filtrar y hemos pulsado uno de los botones de las letras, le pasamos a la búsqueda el valor pulsado devolviéndonos la búsqueda los registros encontrados que comiencen por esa letra, añadiéndolos a una cesta en memoria para procesarlos posteriormente.

Esto es todo lo que tenemos que hacer para construir un índice tipo agenda en nuestras aplicaciones ¿te ha parecido complicado? ¿no? pues a que esperas para construir los tuyos

Francisco José Vila Martín
ayudavelneo@ayudavelneo.com

Francisco José Vila es autor del blog Ayudavelneo desde donde ayuda a desarrolladores que se están iniciando en Velneo a acortar su curva de aprendizaje para que obtengan beneficios y sean rentables desde el minuto 1. Además es programador certificado y formador en la plataforma de desarrollo de aplicaciones empresariales Velneo V7. Ampliar información

No Comments

Post A Comment

Información básica sobre Protección de Datos: Responsable: Francisco José Vila Martín. Finalidad: Gestionar y moderar los comentarios. Legitimación: Tu consentimiento. Destinatarios: Tus datos se alojarán en los servidores de Web Empresa S.L. (UE). Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos, así como otros derechos, como se explica en la información adicional. Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos personales en mi Política de Privacidad.

Pin It on Pinterest