Mostrar Campo Text num DBGrid
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.
Obrigada,
Juliana.
Jupedra
Curtidas 0
Respostas
Denis
26/08/2005
use o componente DbCtrlGrid. Ele tem uma forma parecida com dbgrid.
GOSTEI 0
Adriano Santos
26/08/2005
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.
GOSTEI 0
Jupedra
26/08/2005
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:
Text := Copy(querycampo.AsString, 1, 200);
E ai funciona direitinho. Obrigada. :wink:
GOSTEI 0
Adriano Santos
26/08/2005
Puts, mas mostra legal o texto?
Pq essa dica que eu passei foi publicada em uma revista ClubeDelphi bem atinga.
Pq essa dica que eu passei foi publicada em uma revista ClubeDelphi bem atinga.
GOSTEI 0
Jupedra
26/08/2005
Pra mim mostrou legal sim, funcionou direitinho :D
GOSTEI 0
Firekiller_am
26/08/2005
[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
Pq essa dica que eu passei foi publicada em uma revista ClubeDelphi bem atinga.[/quote:7b5bae1b77]
Ola Adriano a sua dica funcionou comigo.. vlw
GOSTEI 0
Eduardo Mendonça
26/08/2005
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.
Sinceramente esse exemplo resolveu minha vida. kkkkk
adorei seu exemplo funcionou muito bem.
GOSTEI 0