Fórum Selecionar Linha no dbgrid1 e Ficar Vermelho os registros do outro dbgrid2 #399981

28/04/2011

0

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.....


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

Robson Morais

Responder

Posts

29/04/2011

André Silveira

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.
Responder

Gostei + 0

29/04/2011

Robson Morais

tá mas isso tá sendo o problema como vou fazer no oncellclick, pois uso já um DbGrid q tem o evento
Responder

Gostei + 0

02/05/2011

Robson Morais

sobe
Responder

Gostei + 0

08/05/2011

Robson Morais

?????
Responder

Gostei + 0

09/05/2011

Wilson Junior

Coloque o seu código no evento OnDrawColumnCell do DBGrid2.

Espero ter colaborado.
Responder

Gostei + 0

09/05/2011

Robson Morais

ja fiz isso tbem colocando no DbGrid2 verificando se o que esta selecionado no DbGrid1 tem no DbGrid2 para pintar.,...mas nao deu!
Responder

Gostei + 0

09/05/2011

Wilson Junior

Coloque este código no evento que citei
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.
Responder

Gostei + 0

09/05/2011

Robson Morais

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 
Responder

Gostei + 0

10/05/2011

Wilson Junior

Coloque aqui o seu código para poder melhor lhe ajudar.

Aguardo retorno.
Responder

Gostei + 0

14/05/2011

Robson Morais

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;

Responder

Gostei + 0

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

Aceitar