Visualizando um campo Memo no DBGrid
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
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
Curtidas 0
Respostas
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;
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
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...
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
22/04/2004
Obrigado pessoal.
Só uma observação: Os código acima têm pequenos problemas. Da forma abaixo funcionou:
Valeu e T+
wbb
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