Array
(
)

ADO - como carregar campos MEMO na dbgrid e mostrar dados?

Salsa
   - 16 fev 2006

Seguinte, estou carregando um banco de dados meu em access em uma dbgrid... estou usando o ADO e talz...

carregar eu carrego blz... soh q tipo os campos mesmos...
nao aparecem o conteudo...
soh aparecem escritos .. MEMO

alguem sabe oq fao pra q ele mostre o conteudo da lista qndo eu der um SELECT * From tabela .. pra ele carregar na dbgrid os registros?


valeu :P


Paullsoftware
   - 16 fev 2006

tenta assim..
#Código

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
R : TRect;
begin
(*exibe campo memo*)
R:=Rect; // declara uma variável local R : TRect
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;



Salsa
   - 16 fev 2006

o que eh o:

ClientDataSet1OBS


???


Paullsoftware
   - 16 fev 2006


Citação:
o que eh o:

ClientDataSet1OBS


???


seria o nome de SuaTabelaCampoObervacoes..


Salsa
   - 16 fev 2006

Query.FieldByName(´campo´).AssString

c tah dizendo?


Salsa
   - 16 fev 2006

nao tem como eu pegar automaticamente se o campo eh memo e fazer ele executar esse eskema no nome da coluna?

eh q tipo trabalho com varias tabelas... ae queria pegar se fosse uma coluna memo..!!!


Rafael Gomes
   - 17 fev 2006

amigo, basta colocar esse codigo no evento OnGetText do seu filed Memo.

#Código

procedure TDmRE.AuxdescEnquadramentoGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text:= DmRe.Aux.fieldByName(´DescEnquadramento´).AsString;
end;


adapte o codigo de acordo com sua necessidade ...
abraços!!