Grid configurable

Saludos. En una aplicación multiusuaria, tengo unas ventanas que poseen un grid el cual me muestra muchas columnas. Sin embargo, no todas resultan de utilidad en el momento para los usuarios, algunas veces hay que ocultarlas, cambiar de tamaño y posición dentro del grid. Cada vez que cierran la ventana y la vuelven a abrir, deben repetir los ajustes al Grid para trabajar de manera más cómoda. El Grid puede incluso tener distintas formas de ajustarse por la misma persona por lo que resulta útil tener distintas configuraciones del mismo. Como puedo hacer para configurar un Grid de distintas formas y poder disponerselo a los usuarios para que simplemente seleccionen el más adecuado a sus necesidades. ¿Tiene alguna idea?
Respuesta
1
Lo que yo haría es definir una tabla donde guardes tus usuarios y algunas propiedades que quieras configurar del grid.
Osea vas a hacer una tabla de propiedades.
Una tabla llamada Grids
Por ejemplo con los campos:
Usuario (nombre del user)
NoConfig (numero de configuración)
Column1 (si se ve o no verdadero o falso)
Column2 (si se ve o no verdadero o falso) etc.
Col1Ancho (Guardas el ancho de la columna 1)
Col2ancho (Guardas el ancho de la columna 2)
Col1Header (Guardas el encabezado de la columna1)
Etc... etc...
Ya que tienes tu tabla especificas los valores para cada usuario o valores default.
En el evento Init del form configuras las propiedades con los valores que tienes en la tabla dependiendo del usuario que sea:
Por Ej
Use Grids.dbf shared
Locate for Usuario = ("Admim")
If Found()
Thisform.Grid1.Column1.Visible = Column1
Endif
Entonces cada usuario tendrá su configuración.
Si existe una modificación por parte del usuario en el evento destroy del grid puedes remplazar los valores en la tabla con los últimos modificados por el usuario.
Claro puedes mejorar esto con opciones para guardar modificar o crear una configuración nueva para que el usuario escoja y le ponga nombre a la que más le guste... todo desde la tabla...
Resumen:
Creas una tabla con propiedades modificables de tu grid donde cada usuario puede tener una o varios registros que puede utilizar cuando los necesite. Al terminar de usar ese grid guardas los cambios o preguntas si los desea guardar.
Hasta La próxima,
Derick Salazar
Guatemala

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas