Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Autoajustes de campos.

Hola, tengo una DBGrid asociada a una tabla en la que los campos que se muestran en la rejilla pueden variar en función de la configuación del usuario. Debido a que la zona de la pantalla en la que se encuentra la rejilla tiene una anchura limitada, me gustaría que la anchura de las columnas del dbgrid se ajustara automáticamente a la anchura del registro más ancho de cada columna. De esa forma siempre estaría optimizado al máximo las columnas y el espacio disponible. El problema es que la DBGrid ahora casi lo hace, es decir, en los campos pequeños lo hace bien, pero si el campo es texto y es grande (30 o 40 caracteres) siempre corta el final en todos. Además no quiero que el usuario tenga que estar redimensionando las columnas de forma manual.
¿Existe alguna forma de que el DBGrid autoajuste automáticamente la anchura de las columnas al valor más ancho de cada columna?
Salu2.
Responder Con Cita
  #2  
Antiguo 27-09-2004
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Lightbulb

No existe un método asociado al dbGrid que haga eso, que yo sepa, pero, dando por hecho que la fuente del dbgrid va a ser siempre la misma, te puedes "inventar" una manera de controlarlo, guardando el ancho máximo que alcance una columna en el evento afterpost de la tabla. O sea, calcula en este evento el ancho en puntos que va a ocupar cada campo en el dbgrid, utilizando el método dbGrid1.Canvas.TextWidth('Texto que ha guardado el campo'). Si el ancho supera el último valor guardado, lo sustituyes. Estos valores los utilizas al abrir el form que tenga el dbgrid para configurar el ancho de cada columna, y listo.

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.

Última edición por German fecha: 27-09-2004 a las 14:06:27.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:15:50.


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
Copyright 1996-2007 Club Delphi