Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   AutoAjustar un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=2565)

Osorio 29-07-2003 16:07:57

AutoAjustar un dbgrid
 
Hola todos:


tengo un dbgrid en el cual muestro el resultado de una consulta.

Lo que sucede es que el ancho de las columnas lo determina el tamaño del campo que esta contiene.

Lo que deseo es que el ancho de las columnas pueda ser determinado por la cantidad de caracteres del campo.

Ejemplo:

el campo nombre es varchar de 50.

En el DBGRID se muestra asi

|Nombre |
|pepe |
|juancho |
|antonio garcia |
|lucho |


y yo los quiero asi:

|Nombre |
|pepe |
|juancho |
|antonio garcia|
|lucho |


Gracias

__cadetill 29-07-2003 17:43:03

Pos yo lo veo igual :D

Explica un poco mejor lo que pretendes hacer y/o pon el ejemplo entre un para ver que es lo que pretences hacer (ya que esto conserva los espacios

danytorres 29-07-2003 18:11:48

Hola a todos los del foro. No entiendo tu pregunta tus dos ejemplos son iguales, me supongo que quieres ajustar cada selda por tamaño de contenido mas no por el tamaño del campo declarado en la tabla, con el DBGrid declaras el ancho del campo

__________________________________________

DBGrid1.Columns[Columna].Width:=ancho;
_________________________________________

que en este caso seria la columna, lo que tu quieres hasta el momento con un DBGrid no lo e visto, existen otros componentes que de seguro si puedes hacerlo visita la pagina de Torrys.com bajate los TMS que contienen unos Grisd muy completos.

A lo mejor si se puede con un grid espero que mis compañeros te puedan dar mas ayuda que yo suerte.

____________________
Un saludo a todos...

Osorio 30-07-2003 00:39:40

Hola todos:

Que pena que no me salieron los espacion en blanco que habia colocado, pero bueno, creo que me entendieron.

Gracias.

Pero lo mas bueno es que ya lo solucioné.

Basandome en el truco 411 de trucomania hice esto:


procedure TFMenuPrestamos.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if length(Column.Field.AsString) > Column.Field.Tag then
begin
Column.Field.Tag:= length(Column.Field.AsString);
Column.Field.DisplayWidth:=Column.Field.Tag+1;
end;
end;


ahhh TFMenuPrestamos, es mi forma, la de ustedes pueden llamarla como les parezca mas atractivo.

Suerte a todos.


La franja horaria es GMT +2. Ahora son las 11:34:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi