Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Cores No Dbgrid


Guest --Jose Luiz --

Pergunta

Guest --Jose Luiz --

procedure TTESTE.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);

const

clVerdeClaro = TColor ( $CCFFCC ) ;

begin

if ( gdFocused in State ) then

DBG_GIN_SOC.canvas.brush.color := clNavy

else

if Column.Field.Dataset.FieldbyName ( 'COR' ).AsString = '1' then

DBG_GIN_SOC.canvas.brush.color := clVermelho1 ;

DBGrid1.DefaultDrawColumnCell ( rect, DataCol, Column, State ) ;

end;

No exemplo acima, tenho um campo COR no meu banco de dados, que me permite definir qual a cor de fundo que eu desejo.

Se estou utilizando Properties - Option - DgRowSelect = False, as cores funcionam corretamente, porém se o DgRowSelect for True, somente o primeiro campo do DBGrid obedece as cores do registro em destaque, e os outros campos não.

Como fazer para que toda a linha do DBGrid mostre a mesma cor do registro Selecionado ( ou seja clNavy = Letras brancas em fundo azul ) ?

Obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Guest HDELPHI

Coloque a propriedade defaultdrawdata do dbgrid em FALSE

No evento onDrawColumnCell do seu grid coloque o seguinte:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;

const

Rect: TRect; DataCol: Integer; Column: TColumn;

State: TGridDrawState);

begin

If table1PRAZO.Value > DATE then // condição

Dbgrid1.Canvas.Font.Color:= clFuchsia; // coloque aqui a cor desejada

Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State);

end;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --José Luiz --

Obrigado pelas rápidas respostas.

Não testei a proposta do HDELPHI, pois a sugestão do Micheus era mais rápida e funcionou perfeitamente.

De qualquer modo, agradeço aos dois pelo interesse.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...