Fórum Preciso de uma luz/ideia de como organizar uma tela #331488

18/10/2006

0

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

QryFimAtendimento.Active := False; DSFimAtendimento.Enabled := False; TFimAtendimento.Active := False; TFimAtendimento.Active := True; DSFimAtendimento.Enabled := True; QryFimAtendimento.Active := True;


Aceito sugestões


Corcos

Corcos

Responder

Posts

18/10/2006

Corcos

nao achei o botão para editar...

so para dizer ja tentei

QryFimAtendimento.Close; QryFimAtendimento.Open;



Responder

Gostei + 0

19/10/2006

Ronaldo.cutu

No duplo click no grid desligue o timer e assim que vc sair do fechamento do atendimento ligue o novamente

att

Ronaldo


Responder

Gostei + 0

19/10/2006

Corcos

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.


Responder

Gostei + 0

19/10/2006

Motta

Já fiz algo parecido, num Timer coloquei Close/Open do Dataset, funcionou.


Responder

Gostei + 0

19/10/2006

Aerreira

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.


Responder

Gostei + 0

20/10/2006

Leonardobhbr

[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]


Responder

Gostei + 0

20/10/2006

Corcos

Gostei das ideias, obrigado a todos

Vou fazer um teste aqui e ja aviso


Responder

Gostei + 0

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

Aceitar