Visualizando um campo Memo no DBGrid

Delphi

22/04/2004

Fala pessoal do Forum!

Preciso fazer com que o conteúdo de um campo Memo do meu banco de dados, seja visualizado num DBGrid.

Alguém pode me dar uma ajuda? Estou precisando demais disso...
Desde já agradeço!

wbb


Wbb

Wbb

Curtidas 0

Respostas

Rafael.valler

Rafael.valler

22/04/2004

:idea:Tenta isso pra ver se dá certo:

Procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
R : TRect;
begin
R:=Rect;
Dec(R.Bottom,2);
if Column.Field=Table1Memo then
begin
if not (gdSelected in State) then
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextRect(R,R.Left,R.Top,
Table1Memo.AsString,Integer(AlignmentFlags_WordBreak));
end;
end;


GOSTEI 0
Jeová Soares

Jeová Soares

22/04/2004

utilize o seguinte código no evento OnDrawColumnCell do DBGrid:

Var
R : Rect;
Begin
R := Rect;
Dec(R.Bottom,2);
If Column.Field = ClientDataSet1OBS Then Begin
If Not (gdSelected in State) Then
DBGrid1.Canvas.FillRect(Rect);
DrawText(DBGrid1.Canvas.Handle,PChar(ClientDataSet1OBS.AsString),Length(ClientDataSet1OBS.AsString),R,DT_WORDBREAK);
End;
End;


Para mais personalização de DBGrids procure adquirir a revista Clube Delphi nº 44 (Segredos do DBGrid).
É fantástica...


GOSTEI 0
Wbb

Wbb

22/04/2004

Obrigado pessoal.

Só uma observação: Os código acima têm pequenos problemas. Da forma abaixo funcionou:

Var R : TRect;
begin
   R:=Rect;
   Dec(R.Bottom,2);
   if Column.Field = DataSetCAMPO_MEMO then
   begin
      if not (gdSelected in State) then
         DBGrid1.Canvas.FillRect(Rect);
      DBGrid1.Canvas.TextRect(R, R.Left, R.Top, DataSetCAMPO_MEMO.AsString);
   end;

Valeu e T+
wbb


GOSTEI 0
POSTAR