Selecionar Linha no dbgrid1 e Ficar Vermelho os registros do outro dbgrid2
Boa Noite Pessoal,
Estou tentando fazer assim;
No DbGrid1 eu tenho os seguintes registros retornados do banco
Formulario Descricao
PESCAD001 Cadastro de Pessoas
PROCAD006 Cadastro de Produtos
Ai no DbGrid2 eu tenho os seguintes campos
Operacao Descricao Formulario
001 Vendas PESCAD001
002 Troca PESCAD001
002 Troca PROCAD006
003 Condicional PROCAD006
Então quando clicar no registro do dbgrid1 queria que os registros que fosse corresponde ao fomulario que clicou no dbgrid1 ele fique em vemelhor o nome.
tentei fazer assim.....
mas ai ele fica vermelho smente quando pesquisa o formulário.
Estou tentando fazer assim;
No DbGrid1 eu tenho os seguintes registros retornados do banco
Formulario Descricao
PESCAD001 Cadastro de Pessoas
PROCAD006 Cadastro de Produtos
Ai no DbGrid2 eu tenho os seguintes campos
Operacao Descricao Formulario
001 Vendas PESCAD001
002 Troca PESCAD001
002 Troca PROCAD006
003 Condicional PROCAD006
Então quando clicar no registro do dbgrid1 queria que os registros que fosse corresponde ao fomulario que clicou no dbgrid1 ele fique em vemelhor o nome.
tentei fazer assim.....
if dbgrid1.Fields[0].AsString = dbgrid2.Fields[2].AsString then begin dbgrid2.Canvas.Font.Color:= clRed; end; dbgrid2.Canvas.FillRect(Rect); dbgrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State);
mas ai ele fica vermelho smente quando pesquisa o formulário.
Robson Morais
Curtidas 0
Respostas
André Silveira
28/04/2011
Você tem que implementar o evento click no dbgrid1, pois nesse evento que você deverá colocar o código de comparação e pintar o dbgrid2, outra coisa, desabilite no dbgrid2 a propriedade dafaultdraw.
GOSTEI 0
Robson Morais
28/04/2011
tá mas isso tá sendo o problema como vou fazer no oncellclick, pois uso já um DbGrid q tem o evento
GOSTEI 0
Robson Morais
28/04/2011
sobe
GOSTEI 0
Robson Morais
28/04/2011
?????
GOSTEI 0
Wilson Junior
28/04/2011
Coloque o seu código no evento OnDrawColumnCell do DBGrid2.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Robson Morais
28/04/2011
ja fiz isso tbem colocando no DbGrid2 verificando se o que esta selecionado no DbGrid1 tem no DbGrid2 para pintar.,...mas nao deu!
GOSTEI 0
Wilson Junior
28/04/2011
Coloque este código no evento que citei
Espero ter colaborado.
if dbgrid1.Fields[0].AsString = dbgrid2.Fields[2].AsString then begin dbgrid2.Canvas.FillRect( Rect ); dbgrid2.Canvas.Font.Color := clRed; dbgrid2.DefaultDrawColumnCell( Rect, DataCol, Column, State ); end ;
Espero ter colaborado.
GOSTEI 0
Robson Morais
28/04/2011
dessa maneira deu certo para quando eu pesquisa dentro do dbgrid o formulario e ai mostra uma vez só, mas queria que ao clicar em um item do dbgrid1 selecionasse no dbgrid2
GOSTEI 0
Wilson Junior
28/04/2011
Coloque aqui o seu código para poder melhor lhe ajudar.
Aguardo retorno.
Aguardo retorno.
GOSTEI 0
Robson Morais
28/04/2011
coloquei assim no evento ondrawcell do dbgrid2
if DbgFor.Fields[0].AsString = DbgMov.Fields[4].AsString then begin DbgMov.Canvas.FillRect( Rect ); DbgMov.Canvas.Font.Color := clRed; DbgMov.DefaultDrawColumnCell( Rect, DataCol, Column, State ); end;
GOSTEI 0