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

Muda Cor Da Linha No Dbgrid Funciona, Mas Como Fazer...


Ivano

Pergunta

Olá, vejam como estou mudando a linha:

--------------------------------------------------

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin

Dbgrid1.Canvas.Font.Color:= clblack;

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

//If table1CodFor.value = 12 then begin// condição

If lincor = true then begin// condição

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

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

lincor:=false;

end else lincor:=true;

end;

-------------------------------------------------

trocando o 1º if pelo 2º ele muda coluna sim, coluna não.

Não enconrei onde mudo a linha (row, line...) fiquei procurando mas inda não achei...

Será que alguém sabe? Posta aí por favor :-)

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

opa

bom as cores você defini como preferir, mas a lógica seria

o seguinte, você vai ter que criar uma variavel global, pra

poder armazenar o valor a cada chamada de desenho

do DBGrid, mais ou menos assim

Primeiro adicione uma variavel global, pode ser acima de

implementation

var
T...: TForm;
Zebrado: Boolean = False;

{$R}

implementation
vai no Events do componente DBGrid e procure pelo evento DrawColumnCell Da um duplo clique nele e ai só fazer exemplo
procedure T...DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Zebrado then
  begin
    DBGrid1.Canvas.Font.Color := clWhite; //Letra Branca
    DBGrid1.Canvas.Brush.Color := clBlack; //Fundo preto
    Zebrado := False;
  end
  else
  begin
    DBGrid1.Canvas.Font.Color := clBlack; //Letra preta
    DBGrid1.Canvas.Brush.Color := clWhite; //Fundo branco
    Zebrado := True;
  end;

  DBGrid1.Canvas.FillRect(Rect);
  DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
end;

ps: não testei aqui, mas baseado nos exemplos passados acima

seria mais ou menos isso...

abraço

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...