GARANTIR DESCONTO

Fórum Refresh em campo calculado #351785

12/01/2008

0

Pessoal,

Poderiam me tirar uma dúvida, por favor ?

Eu uso Delphi 7 + Firebird 2 + DBExpress.

É o seguinte: suponha que eu tenha um ClientDataSet ´Revista´. Criei um campo calculado que no evento
OnCalCFields chama uma função minha que busca em uma outra tabela, que chamaremos aqui de ´Y´, o valor de um campo, que chamaremos aqui de ´info´.

A relação entre a tabela ´Revista´ e a tabela ´Y´ é de 1 para N, ou seja, para uma revista eu posso ter N registros na tabela Y.

Até aí tudo bem. Ele busca os valores corretos e concatena todos esses valores no campo calculado do meu clientdataset, separando-os por vírgula.

Eu mostro esse campo calculado em uma grid.
Nessa mesma tela da grid eu posso clicar em um botão e editar a minha tabela Y em um form modal.

Quando eu edito a minha tabela Y, mais especificamente o campo ´info´, e salvo as alterações, eu modifico o valor do meu campo calculado, acrescentando a nova ´info´:
cdsCAMPO_CALCULADO_EXEMPLO.AsString := cdsCAMPO_CALCULADO_EXEMPLO.AsString + ´, ´ + info;

O problema é que essa alteração no campo não é refletida na grid do form de baixo. Eu só consigo com que ela seja refletida quando eu fecho e abro o form que contém a grid.

Detalhe: o clientdataset ´Revista´, que é o dataset mostrado pela grid, está em modo de EDIÇÃO ou INSERÇÃO.

Alguém saberia como resolver esse probleminha ?

Valeu pela ajuda, pessoal !!


Marcelocda

Marcelocda

Responder

Posts

12/01/2008

Cps.art

Tente assim:

Formdebaixo.Dbgrid.Refresh;


Responder

Gostei + 0

13/01/2008

Marcelocda

Não resolveu com o refresh da Grid.

Consegui resolver com o ´refreshRecord´ do clientdataset.

Valeu !


Responder

Gostei + 0

13/01/2008

Onjahyr

Dá uma lida neste tópico e vê se serve pr´teu caso:

http://www.activedelphi.com.br/forum/viewtopic.php?p=149403&sid=37e4cdb7fdff5d3fc0a7cbd92804ced1


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar