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

DBgrid zebrado mais a item selecionado não muda de cor


danielrgoes

Pergunta

Boa Tarde

eu estou zebrando o meu DBGrid dessa forma

if Odd (modulo.cds_auxprojeto.RecNo) and ( modulo.cds_auxprojeto.State <> dsInsert) then

begin

DBGrid4.Canvas.Brush.Color:= clSkyBlue;

DBGrid4.Canvas.FillRect(Rect);

DBGrid4.DefaultDrawDataCell(Rect,Column.Field,State);

end;

Porem a linha em branco quando selecionada fica azul escura mais quando eu seleciono uma SkyBlue não fica azul escuro

parecendo que esta selecionada

como soluciono este problema

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Voce vai achar a resposta em algum desses posts

http://scriptbrasil.com.br/forum/index.php...ighlite=zebrado

abraço

Jhonas as dicas são muito boa

achei ate algo parecido com os eu quero

porem não exatamente

pois quando seleciono a linha branca ele inteira fica azul

já na linha SkyBlue apenas o item selecionado fica azul e não a linha interira

Link para o comentário
Compartilhar em outros sites

  • 0

exprimente assim:

exemplo:

procedure TFCadProd.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   If odd(TCadProd1.RecNo) then
      begin
         DBGrid1.Canvas.Font.Color:= clBlack;
         DBGrid1.Canvas.Brush.Color:= cl3DLight;
      end
   else
      begin
         DBGrid1.Canvas.Font.Color:= clBlack;
         DBGrid1.Canvas.Brush.Color:= clWhite;
      end;

   if (gdSelected in state) then
      DBGrid1.Canvas.Font.Color:= clred
   else
      DBGrid1.Canvas.Font.Color:= clBlack;

   DBGrid1.Canvas.FillRect(Rect);
   DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
exprimente assim:

exemplo:

procedure TFCadProd.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
   If odd(TCadProd1.RecNo) then
      begin
         DBGrid1.Canvas.Font.Color:= clBlack;
         DBGrid1.Canvas.Brush.Color:= cl3DLight;
      end
   else
      begin
         DBGrid1.Canvas.Font.Color:= clBlack;
         DBGrid1.Canvas.Brush.Color:= clWhite;
      end;

   if (gdSelected in state) then
      DBGrid1.Canvas.Font.Color:= clred
   else
      DBGrid1.Canvas.Font.Color:= clBlack;

   DBGrid1.Canvas.FillRect(Rect);
   DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

end;

abraço

Jhonas ficou bom mais ainda não é exatamente o que eu quero

pois apenas a celula selecinada fica vermelha

fostaria que a linha toda do DBbrid ficase vermelha

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