Fórum DBGrid e Cliques #519365

10/05/2015

0

Povo Delphiano,

Esse problema já nos acompanha a um bom tempo. Sei que deve ter uma forma de resolver o problema sem precisar usar componentes de terceiros.
Bom, é o seguinte:

Tenho um dbgrid com alguns campos de uma tabela qualquer. Quando clico em alguma célula do grid (registro), executo uma outra query buscando outros dados e exibo em outro grid mais abaixo. A título de exemplo, vamos supor que o dbgrid principal mostre uma tabela de clientes e o dbgrid secundário as vendas desse cliente. Quando eu clico em um cliente no dbgrid, ele executa uma query e me mostra no segundo dbgrid as vendas desse cliente.

O problema é que tenho um menu popup atrelado a esse grid principal, onde apresento algumas opções ao usuário. E quando eu clico com o botão direito num registro qualquer do dbgrid de clientes, simplesmente o programa abre o popup com as opções, porém com o cliente errado. Se o foco tiver no primeiro cliente por exemplo e eu clico com o botão direito no cliente número 3, a query não é executada mostrando as vendas do cliente 3, visto que o foco ainda continua no cliente 1.

Minha dúvida: como contornar esse pequeno problema?

Grato por qualquer ajuda que possa dar alguma luz!
Adilson Júnior

Adilson Júnior

Responder

Posts

13/05/2015

Mateus Carvalho

Adilson, tecnicamente, o sistema vai executar todos os comandos na linha que estiver o foco. o que você pode fazer, é tentar simular um clique com o botão direito antes de abrir o popup.

http://www.planetadelphi.com.br/dica/70/clicando-com-o-mouse-(simulando-um-clique)
Responder

Gostei + 0

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

Aceitar