Selecao DevMedia QUERO SER PRIME

Fórum Fazer as colunas de um DBGrid se ajustarem ao seu conteúdo #327585

17/08/2006

0

Tem como fazer as colunas de um DBGrid se ajustarem ao seu conteúdo?


Mkoch

Mkoch

Responder

Posts

17/08/2006

Night_man

tenta o seguinte
var
  Idx: Integer;
begin
  for Idx := 0 to DBGrid1.Columns.Count - 1  do
    DBGrid1.Columns[Idx].Width := DBGrid1.Canvas.TextWidth(DBGrid1.Columns[Idx].Title.Caption);

  DBGrid1.DataSource.DataSet.DisableControls;
  try
    DBGrid1.DataSource.DataSet.First;
    while (not DBGrid1.DataSource.DataSet.Eof) do
    begin
      for Idx := 0 to DBGrid1.Columns.Count - 1  do
      begin
        if (DBGrid1.Canvas.TextWidth(DBGrid1.Columns[Idx].Field.Text) > DBGrid1.Columns[Idx].Width) then
          DBGrid1.Columns[Idx].Width := DBGrid1.Canvas.TextWidth(DBGrid1.Columns[Idx].Field.Text);
      end;
      DBGrid1.DataSource.DataSet.Next;
    end;
  finally
    DBGrid1.DataSource.DataSet.First;
    DBGrid1.DataSource.DataSet.EnableControls;
  end;


o metodo TextWidth retorna o tamanho, em pixels, de um texto de acordo com a font.
estamos percorrendo o dataset para ajustar cada uma das columans ao seu maior texto, sendo que eh inicializado com o tamanho do title da coluna[/code]


Responder

Gostei + 0

18/08/2006

Mkoch

Valeu, funcionou muito bem, muito obrigado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar