exibir campo Aggregate (clientDateset) do DBGrid

Delphi

21/04/2005

criei um campo aggregate, defini as suas propriedades Active e Visible como true, mas no Column Editor do DBGrid este campo não aparece.
Algo mais é necessário para visualizar o campo aggregate no DBGrid?


Raserafim

Raserafim

Curtidas 0

Respostas

Arc@njo

Arc@njo

21/04/2005

Voce cetou a propriedade AgregateFields do ClientDataSt para True?


GOSTEI 0
Yallebr

Yallebr

21/04/2005

Vc adicionou o campo ao Colums do DbGrid ?


GOSTEI 0
Raserafim

Raserafim

21/04/2005

Arcanjo, não encontrei esta propriedade (AgregateFields), será que vc não quis dizer AggregateActive?
se for tb não dá certo.


GOSTEI 0
Raserafim

Raserafim

21/04/2005

yallebr, já cliquei em Add All Fields do Column Editor do DBGrid, e o campo não aparece. e quando adiciono um novo campo no Column Editor do DBGrid e vou na propriedade FieldName o campo aggregate tb não está lá.


GOSTEI 0
Arc@njo

Arc@njo

21/04/2005

raserafim

Me desculpe, não estou com o Delphi instalado na maquina aqui então confundi o nome da propriedade, realmente é esta a propriedade mesmo. Mas agora me veio a mente, campos agregados são campos totalizadores de valores, apresentam um único valor para todos os registro da tabela, tenho a leve impressão que eles não sao apresentados em DBGRID e sim em DBEdit.

Verifique isto

Espero ter ajudado.


GOSTEI 0
Raserafim

Raserafim

21/04/2005

Arcanjo,

nem no DBEdit o campo aparece. quando vc estiver de frente pra máquina, vê se tira 1 minutinho e tenta isso blz?¿ valewww


GOSTEI 0
Arc@njo

Arc@njo

21/04/2005

raserafim.

Estou na frente da minha maquina, utilizo Delphi 7, DBExpress, ClientDataSet e IB/FB, acabei de testar novamente a questão do campo Aggregate, criei uma tabela de teste, fiz todas as ligações (SQLConnection, SQLDataSet, DataSetProvider, ClientDataSet), inseri todos os campos do select do SQLDataSet no ClientDataSet, após isto, criei um novo campo do tipo Aggregate dando-lhe o nome de VALORTOTALDOCUMENTOS, alterei a propriedade Expression do campo criado para o seguinte valor: SUM(VLRDOCUMENTO), ou seja, o campo VALORTOTALDOCUMENTOS ira conter o somatorio do campo VLRDOCUMENTO que existe na tabela que estou usando no Select, criei um formulario em branco, adicionei o componente DBGrid e um componente DBEdit, no componente DBGrid adicionei todos os campos do ClientDataSet porém o campo VALORTOTALDOCUMENTOS não foi adicionado, fui no componente DBEdit e na propriedade DataField e procurei os campos na lista, o campo VALORTOTALDOCUMENTOS estava listado, selecionei-o. Retornei ao TField do campo VALORTOTALDOCUMENTOS e alterei a propriedade Active do mesmo para True, feito isto fui para o ClientDataSet e alterei a propriedade AggregatesActives também para True, para desencargo de consciencia novamente fui ao DBGrid e mandei adicionar todos os campos novamente, o campo VALORTOTALDOCUMENTOS novamente não apareceu, mas no DBEdit ele aparece. Executei a aplicação e o DBGrid apresentou todos os dados do arquivo e o DbEdit apresentou o somatorio total do campo VLRDOCUMENTO como havia escolhido. Sendo assim, imagino que, campos do tipo Aggregate não devam figurar em D

Espero ter ajudado.


GOSTEI 0
Arc@njo

Arc@njo

21/04/2005

BGrid. Mas caso ainda tenha mais duvidas, um ótimo profissional que conheço (de reportagens que li feitas por ele) e que saca muito de ClientDataSet é o Guinther Pauli, no site do Clube Delphi você tem como entrar em contato com ele.
GOSTEI 0
POSTAR