Atualização de DBGrid na mesma hora da gravação.
Tenho um form com quatro campos e um botão de gravar e um dbgrid logo abaixo.
O dbgrid só atualiza os dados depois que saio e entro novamente no programa. Como fazer para o dbgrid atualizar na mesma hora da gravação?
O dbgrid só atualiza os dados depois que saio e entro novamente no programa. Como fazer para o dbgrid atualizar na mesma hora da gravação?
Jpauloss
Curtidas 0
Respostas
Macario
28/06/2007
Olá.
Referente a atualização do grid, depende do metodo como voce salva os dados.
Qual banco de dados você usa?
Qual componente de acesso?
8)
Referente a atualização do grid, depende do metodo como voce salva os dados.
Qual banco de dados você usa?
Qual componente de acesso?
8)
GOSTEI 0
Jpauloss
28/06/2007
Olá.
Referente a atualização do grid, depende do metodo como voce salva os dados.
Qual banco de dados você usa?
Qual componente de acesso?
8)
1) Banco de dados: FireBird 1.5
2) DBExpress
GOSTEI 0
Marcos.gandin
28/06/2007
Logo após de salvar os dados você faz:
nomedatabela.Refresh
Flw
nomedatabela.Refresh
Flw
GOSTEI 0
Brunolspp
28/06/2007
Pega minha apostila sobre desenvolvimento client/server no meu link de downloads gratuitamente que com certeza lhe ajudará, pois mostra passo a passo como fazer este tipo de manipulação de dados.
GOSTEI 0
Jpauloss
28/06/2007
Logo após de salvar os dados você faz:
nomedatabela.Refresh
Flw
Valeu amigo. Mas já está assim. Tem outro jeito?
GOSTEI 0
Jpauloss
28/06/2007
Pega minha apostila sobre desenvolvimento client/server no meu link de downloads gratuitamente que com certeza lhe ajudará, pois mostra passo a passo como fazer este tipo de manipulação de dados.
Muito obrigado! Já baixei. Em casa vou estudar mais sua apostila. Parece ser muito boa.
GOSTEI 0
Jpauloss
28/06/2007
Pega minha apostila sobre desenvolvimento client/server no meu link de downloads gratuitamente que com certeza lhe ajudará, pois mostra passo a passo como fazer este tipo de manipulação de dados.
Mas sabe o porque está acontecendo isso?
Faço assim:
conexao.commit;
cds_material.Refresh
grava no banco normalmente, só que o dbgrid não atualiza na mes hora.
GOSTEI 0
Brunolspp
28/06/2007
vc quer q atualize?
entap marca no datasetprovider a opcao propagatechages e refrshrecord
e apos a operacao alpique o metodo refreshrecord no CDS.
entap marca no datasetprovider a opcao propagatechages e refrshrecord
e apos a operacao alpique o metodo refreshrecord no CDS.
GOSTEI 0
Jpauloss
28/06/2007
vc quer q atualize?
entap marca no datasetprovider a opcao propagatechages e refrshrecord
e apos a operacao alpique o metodo refreshrecord no CDS.
Valeu. Vou tenar!
GOSTEI 0
Jpauloss
28/06/2007
[quote:f408bc9c7f=´BrunoLSPP´]vc quer q atualize?
entap marca no datasetprovider a opcao propagatechages e refrshrecord
e apos a operacao alpique o metodo refreshrecord no CDS.
Valeu. Vou tenar![/quote:f408bc9c7f]
Deu certo. Só que aplicando o refresh 2 vezes.
dm.cds_materiais.refresh;
dm.cds_materiais.refresh;
GOSTEI 0
Brunolspp
28/06/2007
Nao é o metodo refresh.. é o metodo refresh record, apos aplicar um applyupdates ou apos alguma alteracao nos dados, este metodo atualiza somente o registro selecionado, mas tem q setar os options corretamente do datasetprovider e os profiderflags dos tfields.
GOSTEI 0
Nerdex
28/06/2007
vc quer q atualize?
entap marca no datasetprovider a opcao propagatechages e refrshrecord
e apos a operacao alpique o metodo refreshrecord no CDS.
Prezado Bruno, acredito que esteja fazendo alguma confusão, pois não é verificado a existência do ítem REFRESHRECORD nas propriedades do DataSetProvider, talvez vc esteja se referindo a prop. PoAUTOREFRESH.
Sendo assim, deixei true nas props. do DSProvider: poAutoRefresh e poPropagateChanges.
Fiz testes aqui, setando true nas PROVIDERFLAGS do TField (pfInKey) do meu campo chave primária e realmente o erro persiste com:
"Unable to find record. no key specified"
Uso Delphi 7.1 (updated!)
Abraço
GOSTEI 0
Brunolspp
28/06/2007
O metodo refrsh record esta no clientdataset como coloquei.
se vc pegar o exemplo do borcon ou do DDD8 nos meus links de downloads ira perceber isso atraves da funcao de ativar e desativar clientes no cadastro de clientes, que atualiza a informacao de um unico registro, pois foi basead numa interacao nao proveniente do grid.
vc me entendeu mau, as propriedades do datasetprovider estao corretas, o metodo refresh record e q deve ser feito no clientdataset.
da um a olhada la, e se persistir cham de novo.
se vc pegar o exemplo do borcon ou do DDD8 nos meus links de downloads ira perceber isso atraves da funcao de ativar e desativar clientes no cadastro de clientes, que atualiza a informacao de um unico registro, pois foi basead numa interacao nao proveniente do grid.
vc me entendeu mau, as propriedades do datasetprovider estao corretas, o metodo refresh record e q deve ser feito no clientdataset.
da um a olhada la, e se persistir cham de novo.
GOSTEI 0