Fórum Redimencionar as colunas do DBGrid conforme o conteúdo #298665

07/10/2005

0

Tem alguma propriedade no DBGrid que faz com que ele redimencione as suas colunas conforme o conteúdo?


Mkoch

Mkoch

Responder

Posts

07/10/2005

Bruno Belchior

Que eu conheça não... você pode fazer isso dinamicamente em Run Time... No OnDrawCollumnCell:
var
  Tamanho: Smallint;
begin
  with DBGrid do
  begin
    Tamanho := Canvas.TextWidth(Column.Field.AsString);
    if Column.Width < Tamanho then
      Column.Width := Tamanho + 10
  end;
end;



Responder

Gostei + 0

07/10/2005

Armando.boza

Existe uma opção:

DBGRID > OPTIONS > DGCOLUMNRESIZE (true ou false)


Mas não sei exatamente como ela se comporta ... dá uma testada.


Responder

Gostei + 0

07/10/2005

Mkoch

O código do amigo [b:f93bdafd40]Bruno Belchior[/b:f93bdafd40] funcionou, é isso mesmo que eu queria, mas o DBGrid fica maluco parece que entra em loop e fica redesenhando a tela constantemente.


Responder

Gostei + 0

07/10/2005

Mkoch

Alguem saberia uma solução para este problema?


Responder

Gostei + 0

07/10/2005

Massuda

...o DBGrid fica maluco parece que entra em loop e fica redesenhando a tela constantemente.
Isso acontece porque está usando o evento OnDrawColumnCell... quando você muda a largura da coluna, a célula precisa ser redesenhada e você muda a largura de novo, etc, entrando em loop.

Dê uma olhada [url=http://forum.clubedelphi.net/viewtopic.php?t=67138]neste tópico[/url]. Ele começa falando de ComboBoxes mas acabou caindo no DBGrid; não tem exemplo, mas acho que tem as explicações necessárias.


Responder

Gostei + 0

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

Aceitar