Agregar columnas al DBGrid en Runtime
Hola a todos
Una vez mas solicitando su ayuda. Necesito agregar columnas a un DBGrid en Runtime. Los datos de los campos que agregaré al DBGrid los tengo en una tabla (nombre del campo, el tipo, mascara de edicion, etc., asi como tambien la tabla a la que pertenecen). Lo que pretendo es que si deseo agregar o quitar una columna del DBGrid, nomas lo elimino o agrego de la tabla y asi no necesitaré recompilar para que los cambios se relejen, sino simplemente cerrar y abrir la aplicacion. gracias y saludos VB |
Quizás haya una forma más fácil.
En una tabla de configuración, guardas el select que ha de hacerse: Código:
Tabla: Config Obviamente la función LeerConfig hace un locate del parámetro que recibe, y devuelve la columna "Valor" donde tendrás el sql que necesitas. Esto tiene algunos detalles a tener en cuenta: - En el Grid, no añadas las columnas en tiempo de diseño, ya que cada vez que abras la consulta, se reinician dependiendo de los campos que se vayan a leer. - Quizás necesites alguna rutina para establecer el ancho de cada columna, ya que por defecto el grid asignará el DisplayWith de cada campo al tamaño máximo de ese campo, por ejemplo, si el campo NombreCliente tiene un ancho máximo de 100 caracteres, esa columna se verá muy muy ancha. Incluso puedes guardar en esa tabla config, sólo los campos que el usuario quiere ver: En la columna valor, solo se habrá guardado: "Nombrecliente, direccion, Telefono" Normalmente, y como otra posibilidad más, puedes dar una opción al usuario para que pueda ocultar las columnas que él quiera, guardando esa lista de campos, después puedes recorrer el DBGrid y ocultarla, lo explico mejor:
Saludos |
Lepe gracias por la pronta respuesta
intentaré con ese ejemplo saludos Cita:
|
La franja horaria es GMT +2. Ahora son las 06:59:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi