Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ajustar ancho de columna en DBGRID (https://www.clubdelphi.com/foros/showthread.php?t=68915)

Viky 14-07-2010 22:03:52

Ajustar ancho de columna en DBGRID
 
Necesito ajustar el ancho de columna de un dbgrid al tamaño maximo de caracteres que trae esa columna
Por ejemplo la columna nombre trae los datos "Maria Esther" y Maria y es necesario que el ancho de columna se ajuste paa q muestre todo el nombre Maria Esther.

Les consulto porque he probado los ejemplos de todos los hilos relacionados a este tema y ninguno me ha funcionado.

Gracias
Viky.

Chris 14-07-2010 22:09:38

Utilila el evento OnDrawColumnCell. Dentro de dicho evento agrega un código similar a este:
Código Delphi [-]
procedute mi_formulario.MiDBGridOnDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
    HorzMargin = 6; // margen horizontal entre el ancho de la columna y el texto más largo.
begin
    if (TDBGrid(Sender).Columns[DataCol].Width > TDBGrid(Sender).Canvas.TextWidth(Column.Field.AsString) + HorzMargin) then
        TDBGrid(Sender).Columns[DataCol].Width := (TDBGrid(Sender).Canvas.TextWidth(Column.Field.AsString) + HorzMargin);
end;

Saludos,
Chris

manuc 15-07-2010 18:39:48

Muy buena la solución de Chris.

Dejo este enlace del que se pueden sacar ideas también de cómo hacerlo: http://delphi.about.com/od/usedbvcl/l/aa050404a.htm

Un saludo.


La franja horaria es GMT +2. Ahora son las 12:47:07.

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