Fórum Refresh em campo calculado #351785
12/01/2008
0
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
Curtir tópico
+ 0Posts
12/01/2008
Cps.art
Formdebaixo.Dbgrid.Refresh;
Gostei + 0
13/01/2008
Marcelocda
Consegui resolver com o ´refreshRecord´ do clientdataset.
Valeu !
Gostei + 0
13/01/2008
Onjahyr
http://www.activedelphi.com.br/forum/viewtopic.php?p=149403&sid=37e4cdb7fdff5d3fc0a7cbd92804ced1
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)