Fórum Preciso de uma luz/ideia de como organizar uma tela #331488
18/10/2006
0
Eu sou mais de ler do que postar, mas estou com uma duvida e gostaria de compartilhar com vcs e surgir uma ideia legal para resolver esse problema
bom eu to desenvolvendo um sistema de cadastro de atendimento, onde tenho uma tela que sao os atendimento que estão pendentes.
tentei procurar de varias formas uma maneira de dar o refresh de X em X minutos no meu DBGrid, ai que esta o problema:
- Quando faço isso e dou um duplo click no atendimento para fazer a finalização do atendimento, o clock da o reload e volta para o primeiro registro
- Tentei colocar a consulta do dbgrid com outra query porem quando quero puxar os dados do grid para os edits ele não vem pois esta ligado a DataSource diferentes
O que vcs sugerem?
Como vcs sugerem para dar o refresh no grid? ja tentei dando close/open na query e até na tabela, mas ele nao da o refresh de modo algum
ja tentei isso tudo e nada
Aceito sugestões
Corcos
Curtir tópico
+ 0Posts
18/10/2006
Corcos
so para dizer ja tentei
Gostei + 0
19/10/2006
Ronaldo.cutu
att
Ronaldo
Gostei + 0
19/10/2006
Corcos
Alguem tem ideia de como fazer o refresh automatico?
Eu já tentei tudo e nada, se eu fecho e abro a tela aparece o registro gravado.
Gostei + 0
19/10/2006
Motta
Gostei + 0
19/10/2006
Aerreira
O que o Corcos está precisando é um grid que se atualize automaticamente com um timer, porém ao dar um duplo-clique num item, abrir uma janela para editar o registro e depois retornar no registro corrente. (é isso?)
A solução que o Ronaldo.cutu deu foi para ao dar o duplo-clique, desligar o timer e abrir uma nova janela com ShowModal, ao retornar fechando a janela modal, ligar o timer novamente. Porém acho que o Corcos não entendeu isso direito e continuou querendo saber sobre o timer (refresh automático). Mas o caso já estava resolvido.
Então o Motta sugeriu no fundo a mesma coisa. Fechar e Abrir o dataset no timer.
Então, Corcos, basta no timer fechar/abrir o dataset, porém esse timer precisa parar quando estiver editando um determinado registro, por isso colocar uma parada no timer quando der o duplo-clique e ao final da rotina do duplo-clique, após ter terminado a edição, ligar o timer de novo.
O que vai ocorrer é que seu ponteiro no grid estará posicionado no primeiro registro e não no último que foi editado (onde foi dado o duplo-clique). Para isso precisará guardar um bookmark para indicar onde estava quando deu o duplo-click e depois do refresh reposicionar seu bookmark.
Acho que isso irá resolver seu problema.
Gostei + 0
20/10/2006
Leonardobhbr
var
bmk : TBookmark;
bmk := table1.GetBookMark; //Para marcar onde esta no cliente o query
table1.GotoBookMark(bmk); // Volta para a posição marcada
table1.FreeBookMark(bmk);
ou
existe as propriedades disableControls e EnabledControls no cliente para isso também
[/color:10127e1fea]
Gostei + 0
20/10/2006
Corcos
Vou fazer um teste aqui e ja aviso
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)