Fazer as colunas de um DBGrid se ajustarem ao seu conteúdo
Tem como fazer as colunas de um DBGrid se ajustarem ao seu conteúdo?
Mkoch
Curtidas 0
Respostas
Night_man
17/08/2006
tenta o seguinte
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]
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]
GOSTEI 0
Mkoch
17/08/2006
Valeu, funcionou muito bem, muito obrigado.
GOSTEI 0