4 de agosto de 2015

Una clase DataRepeater en Visual FoxPro

Articulo original: A Visual Foxpro DataRepeater Class
http://weblogs.foxite.com/bernardbout/archive/2008/08/26/6622.aspx
Autor: Bernard Bout
Traducido por: Luis María Guayán


Se trata de un control que va a mostrar sus datos en una secuencia repetida. A diferencia de una cuadrícula normal, este control puede mostrar varias líneas de un mismo registro, por lo tanto, tiene la capacidad de mostrar los datos en un contenedor desplazable sin restricción alguna sobre el número de campos a mostrar. Hay varios ejemplos de un DataRepeater que se pueden encontrar, pero este es mejor verlo que describirlo, así que aquí está mi control DataRepeater en acción.

Este control es muy fácil de instalar y utilizar como se verá. Solo algunos pasos y algunas propiedades a configurar. Así que aquí va.
Debido a la forma en que la clases está implementada en VFP, no se puede añadir un objeto a partir de un formulario, sólo de una clase, por lo tanto hay un paso adicional necesario para la creación de esta clase.
Abrir un nuevo formulario, modificar su tamaño y añadir un objeto DataRepeater como se muestra a continuación.


El formulario anterior tiene el control DataRepeater añadido. Esto es sólo un contenedor en el que desea colocar sus campos. Este control es DataBound para que todos los controles dentro de él, también puedan ser DataBound.
La forma más sencilla de añadir campos, es abrir una tabla en el Entorno de Datos del fomulario, y arrastrar y soltar los campos desde allí, al contenedor. La tabla puede ser eliminada del Entorno de Datos después de que se haya terminado de añadir los campos.
En la imagen que aparece a continuación he agregado los campos de la tabla CUSTOMER que se encuentra en el directorio \SAMPLES\DATA de VFP. Vea los campos añadidos para mostrar Memos en acción.

Ahora vuelva a ordenar y cambiar el tamaño de los campos, así también el tamaño del contenedor, según sea necesario. Una vez que esté satisfecho con el resultado, seleccione el contenedor y guardarlo como una clase - desde el menú Archivo | Guardar como una clase - y guardarlo en la biblioteca de clases bbDataRepeater. Yo he guardado mi clase como CustomerData.

El ejemplo de clase junto con los campos, ahora puede ser eliminado del formulario una vez que se haya guardado como una clase.
Luego inserte un objeto DataRepeaterGrid en el formulario. Ya que planeo tener 2 paneles para repetir los datos, necesito hacer mi formulario lo suficientemente grande como para que entre la cuadrícula que se ampliará en tiempo de ejecucuión para dar cabida a los 2 paneles. Esto depende del número de campos, ya que se usará el DataRepeater mas grande con los campos, es decir, la cuadrícula será más grande.

Una vez que se haya hecho, es cuestión de establecer algunas propiedades del objeto DataRepeaterGrid. Las propiedades que deben ser configuradas se muestran aquí como las hice.


Eso es todo. Ahora el formulario está listopara ejecutarlo ...

Al hacer clic en los botones se disparará el método ButtonClicked y puede ver que la clase conoce en que registro que se encuentra.

Descargue la clase y un formulario de ejemplo desde el siguiente enlace: bbDataRepeater.zip
A disfrutar.

No hay comentarios. :

Publicar un comentario