FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DBGrid que adapte sus columnas en función del ancho del contenedor
Hola, en lazarus configuro el dbgrid para se adapte a su contenedor, luego configuro las columnas(las cuales por su naturaleza no deben ser del mismo ancho), el problema ocurre cuando maximizo el form, el dbgrid se adapta pero las columnas no, si existiese la forma de configurar el height de las columnas mas que por un valor fijo, con una relación porcentual con el ancho de su contenedor ....
por supuesto estoy buscando preferiblemente propiedades cosa de evitar llenar de codigo de presentación a mi aplicación espero se entienda mi problema ....gracias por su atención estoy seguro que esta justo alli en mis narices pero la verdad no lo veo ... Saludos |
#2
|
||||
|
||||
Puedes utilizar un RxDBGrid. Tiene la propiedad AutoSizeColumns.
Yo particularmente utilizo el evento onResize. Doy a cada columna un porcentaje de ancho en la propiedad Tag y calculo el ancho correspondiente cuando se redimensiona.
__________________
http://www.gestionportable.com |
#3
|
|||
|
|||
Podrias explicarte un poco mejor
Hola, la verdad no entiendo mucho tu respuesta, (ojo ignorancia mia) al evento onrisize que te refieres es el del form, y como utilizar la propiedad tag, esa nunca la he utilizado de hecho me entero de su existencia( la ignorancia no tiene limite) podrias darme algo de codigo a modo de ejemplo ...
Gracias .... |
#4
|
||||
|
||||
La propiedad Tag almacena un entero, y esta para meter "lo que nos de la gana", no afecta en absolutamente nada al comportamiento del componente
Como dice pacopenin, a cada columna le asignas un porcentaje y despues en base a eso calculas el ancho (cómo, no se ) |
#5
|
||||
|
||||
Efectivamente. La propiedad Tag es tal cual la explica AgustinOrtu.
Te pongo un ejemplo de como lo hago.
o así.
Ésta última lo que hace es que ajusta la última columna al ancho restante.
__________________
http://www.gestionportable.com |
#6
|
|||
|
|||
Nuevo detalle molesto
Hola gracias a sus respuestas logre hacer el siguiente procedimiento valido para los tipos dbgrid
Sin embargo y dada la naturaleza de mis forms esta ocurriendo algo no muy deseable: algunos de mis forms tienen dentro de si control pageControl dentro de los cuales en distintos tabs hay dbgrids, con el uso del procedure anterior en el evento onrezise del form los configuro a todos: Mas sin embargo el unico que realmente se adapta es aquel que se encuentre visible al momento de re dimensionar el form esa es mi nueva duda Gracias por todo |
#7
|
||||
|
||||
Y cual es el problema si los que no se redimensionan no se ven??
|
#8
|
|||
|
|||
Se veran al momento de hacer clic en el tab correspondiente
Hola, gracias por tu respuesta, el problema es que la navegación entre los tabs del form es cosa frecuente de forma que si solo se redimenciona uno se ven muy mal el resto ...
No se si me explico, vuelvo a describir mi form un form muestra la información de una entidad en particular, esta información esta distribuida en componentes db en un panel con alineación top, el resto del form esta ocupado por un control pageControl dentro del cual hay varios tabs(uno por cada tabla relacionada) donde muestro la información pertinente de cada tabla relacionada(relaciones uno a muchos) pues claro la idea es que los grids de estos tabs mantengan cierta coherencia entre si en cuanto al diseño y como luego de consultar un registro todas la entidades se actualizan, el usuario revisara(o no ) cada una de esas pestañas en busca de la información que para el momento considere pertinente, por tal razon si que es un problema, gracias una vez mas por tu comentario .... |
#9
|
||||
|
||||
Supongo que será porque no usas columnas persistentes en el grid. Probablemente tenga que llamar a adaptar_grid después de abrir las tablas/qwerys correspondientes....o al cambiar de tab.
__________________
http://www.gestionportable.com |
#10
|
||||
|
||||
En donde llamas al proceso que adapta los grid? Proba hacerlo en algun evento del PageControl, por ejemplo en el OnPaint
|
#11
|
|||
|
|||
si uso columnas persistentes
si que uso columnas persistentes en mis grids de hecho el grid tiene una propiedad autofill que adapta perfectamente las columnas, solo que las distribuye uniformemente lo cual no es deseable porque el ancho de los contenidos es variable ....
|
#12
|
|||
|
|||
por cierto donde consigo los Rx
busco y busco y no encuentro un repositorio de los rx confiable, algunos que descargo no instalar por errores (no de dependencias) que otros componentes grid me sugieren, por alli encontre unos llamados virtualtree que según se puede lograr algo mas no tienen componentes db....
Gracias |
#13
|
|||
|
|||
Solucionado
solo era cuestion de colocar el adaptar_grid en cada onresize correspondiente a cada tab, antes lo hacia todos los adaptar grid en el rezise del pageControl(lo hacia así por aquello de centralizar el código) muchas gracias por lo pronto estoy conforme mas sin embargo tengo otras dudas sobre lazarus que posteare en la brevedad ...
Gracias mil |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con el ancho de columnas en un DBGrid | JoAnCa | Varios | 5 | 03-03-2011 12:34:15 |
Colocar Ancho De columna de un DBGrid dependiendo del ancho del maximo campo guardado | gulder | Varios | 3 | 08-11-2008 12:27:34 |
Ancho de columnas de un DBGrid | PTW | Varios | 2 | 01-06-2005 01:50:39 |
Contorlar el ancho de las columnas de un DbGrid | __cadetill | OOP | 7 | 05-07-2004 13:18:21 |
|