APROVEITAR

Fórum Mostrar Campo Text num DBGrid #293217

26/08/2005

0

Pessoal, estou com uma dúvida. Trabalho com o delphi 7 e PostgreSql. Tenho um campo text numa query e gostaria de mostrar esse campo num DBGrid, mas ele aparece com a descrição MEMO. Como faço pra mostrar esse campo no grid? Afinal, tem como fazer isso?

Obrigada,
Juliana.


Jupedra

Jupedra

Responder

Posts

26/08/2005

Denis

use o componente DbCtrlGrid. Ele tem uma forma parecida com dbgrid.


Responder

Gostei + 0

26/08/2005

Adriano Santos

procedure TfReceber.dgGradePrincipalDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  R: TRect;
begin
  {exibe campo memo}
  R := Rect;
  Dec(R.Bottom, 2);
  if Column.Field = fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´) then
  begin
    if not (gdSelected in State) then
      dgGradePrincipal.Canvas.FillRect(Rect)
    else
      dgGradePrincipal.Canvas.FillRect(Rect);
    {Desenha o texto do campo}
    DrawText(dgGradePrincipal.Canvas.Handle,
      PChar(fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´).AsString),
      Length(fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´).AsString), R,
      DT_WORDBREAK);
  end;
end;




Pra ficar mais legal, aumente o tamanho da fonte na propriedade Font do DBGrid para uns 24, depis clique duas vezes no DBGrid e selecione todos os campos/colunas e entre na propriedade Font diminuindo o tamanho para 8 (padrão) assim sua linha no DBGrid vai ficar mais alta.

Qualquer coisa te mando um exemplo.


Responder

Gostei + 0

26/08/2005

Jupedra

Obrigada pela dica, achei outra forma de fazer no evento onGetText do campo Memo da query coloco a linha:

Text := Copy(querycampo.AsString, 1, 200);

E ai funciona direitinho. Obrigada. :wink:


Responder

Gostei + 0

26/08/2005

Adriano Santos

Puts, mas mostra legal o texto?
Pq essa dica que eu passei foi publicada em uma revista ClubeDelphi bem atinga.


Responder

Gostei + 0

26/08/2005

Jupedra

Pra mim mostrou legal sim, funcionou direitinho :D


Responder

Gostei + 0

28/06/2008

Firekiller_am

[quote:7b5bae1b77=´Adriano Santos´]Puts, mas mostra legal o texto?
Pq essa dica que eu passei foi publicada em uma revista ClubeDelphi bem atinga.[/quote:7b5bae1b77]

Ola Adriano a sua dica funcionou comigo.. vlw


Responder

Gostei + 0

23/01/2014

Eduardo Mendonça

[code:1:2a671df5fe]
procedure TfReceber.dgGradePrincipalDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
R: TRect;
begin
{exibe campo memo}
R := Rect;
Dec(R.Bottom, 2);
if Column.Field = fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´) then
begin
if not (gdSelected in State) then
dgGradePrincipal.Canvas.FillRect(Rect)
else
dgGradePrincipal.Canvas.FillRect(Rect);
{Desenha o texto do campo}
DrawText(dgGradePrincipal.Canvas.Handle,
PChar(fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´).AsString),
Length(fdmPrincipal.qryReceber.FieldByName(´DESCRICAO´).AsString), R,
DT_WORDBREAK);
end;
end;
[/code:1:2a671df5fe]



Pra ficar mais legal, aumente o tamanho da fonte na propriedade Font do DBGrid para uns 24, depis clique duas vezes no DBGrid e selecione todos os campos/colunas e entre na propriedade Font diminuindo o tamanho para 8 (padrão) assim sua linha no DBGrid vai ficar mais alta.

Qualquer coisa te mando um exemplo.




Sinceramente esse exemplo resolveu minha vida. kkkkk
adorei seu exemplo funcionou muito bem.
Responder

Gostei + 0

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

Aceitar