Mostrar conteúdo de um memo no dbgrid

Destinado ao auxílio e Troca de informações sobre a ferramenta Xmaker
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
vinizioWOW
Mensagens: 98
Registrado em: Abril 5th, 2011, 2:35 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mostrar conteúdo de um memo no dbgrid

Mensagempor vinizioWOW » Março 14th, 2012, 10:40 am

Bom dia amigos,

?? possível mostrar o conteúdo de um memo no dbgrid?

Att.:

Vinício.

Desenvolvedor
Logus Informática
Formiga - MG


Gustavo
Mensagens: 244
Registrado em: Dezembro 22nd, 2010, 1:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mostrar conteúdo de um memo no dbgrid

Mensagempor Gustavo » Março 15th, 2012, 9:41 am

Olá,

Crie esta procedure e no envento DrawColumnCell() de qualquer grid chame a procedure assim:

VerMemo(sender,rect,datacol,column,state);

procedure VerMemo(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
R : TRect;
Tabela:TComponentName;
TamanhoTx : TCanvas;
widthTx : integer;
begin
R:=Rect;
Dec(R.Bottom,2);
if TDBGrid(sender).datasource.DataSet.FieldByName(Column.FieldName).ClassName='TMemoField' then
begin
if not (gdSelected in State) then
TDBGrid(sender).Canvas.FillRect(Rect);
TDBGrid(sender).Canvas.TextRect(R,R.Left+3,R.Top+2,TDBGrid(sender).datasource.DataSet.FieldByName(Column.FieldName).AsString);
end;

// daqui para baixo é so para ajustar o tamanho da coluna do grid ao tamanho de seu conteudo
widthTx := TDBGrid(sender).Canvas.TextWidth(TDBGrid(sender).datasource.DataSet.FieldByName(Column.FieldName).AsString);

IF Column.width<widthTx then
begin
Column.Width:=widthTx+8;
end;


if TDBGrid(sender).Canvas.TextWidth(column.title.caption)>Column.width+8 then
Column.width := TDBGrid(sender).Canvas.TextWidth(column.title.caption)+8;

end;

Outra opção seria criar um campo calculado tipo string com o comando
Nome_campo_memo.Lines[0];

Ex:
Campo memo é Observacao.
Campo calculado é Obs_linha1 com o seguinte cálculo:

Linha1:String ;
Linha1:=TabGlobal.DClientes.Observacao.Lines[0] ;
Result := Linha1 ;
Att,

Gustavo Barreto
;)

Dimmy Angelo
Mensagens: 110
Registrado em: Setembro 26th, 2011, 11:54 am
Contato:

Re: Mostrar conteúdo de um memo no dbgrid

Mensagempor Dimmy Angelo » Abril 1st, 2012, 8:04 pm


Dimmy Angelo
Mensagens: 110
Registrado em: Setembro 26th, 2011, 11:54 am
Contato:

Re: Mostrar conteúdo de um memo no dbgrid

Mensagempor Dimmy Angelo » Abril 2nd, 2012, 5:45 pm



[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Voltar para “Xmaker”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 29 visitantes