Preciso de uma luz/ideia de como organizar uma tela
Boa tarde!
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
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
QryFimAtendimento.Active := False;
DSFimAtendimento.Enabled := False;
TFimAtendimento.Active := False;
TFimAtendimento.Active := True;
DSFimAtendimento.Enabled := True;
QryFimAtendimento.Active := True;
Aceito sugestões
Corcos
Curtidas 0
Respostas
Corcos
18/10/2006
nao achei o botão para editar...
so para dizer ja tentei
so para dizer ja tentei
QryFimAtendimento.Close;
QryFimAtendimento.Open;
GOSTEI 0
Ronaldo.cutu
18/10/2006
No duplo click no grid desligue o timer e assim que vc sair do fechamento do atendimento ligue o novamente
att
Ronaldo
att
Ronaldo
GOSTEI 0
Corcos
18/10/2006
ronaldo vou fazer o teste obrigado
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.
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
Motta
18/10/2006
Já fiz algo parecido, num Timer coloquei Close/Open do Dataset, funcionou.
GOSTEI 0
Aerreira
18/10/2006
As coisas estão se misturando um pouco aqui.
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.
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
Leonardobhbr
18/10/2006
[color=green:10127e1fea]
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]
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
Corcos
18/10/2006
Gostei das ideias, obrigado a todos
Vou fazer um teste aqui e ja aviso
Vou fazer um teste aqui e ja aviso
GOSTEI 0