Ivano Postado Janeiro 2, 2007 Denunciar Share Postado Janeiro 2, 2007 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 :-) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Erso Postado Janeiro 2, 2007 Denunciar Share Postado Janeiro 2, 2007 não entendi...Mas da uma olhada http://scriptbrasil.com.br/forum/index.php...&hl=zebrado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ivano Postado Janeiro 2, 2007 Autor Denunciar Share Postado Janeiro 2, 2007 Achei um outro pesquisando pela palavra zebrado :)http://scriptbrasil.com.br/forum/index.php?showtopic=90119Vou testar ele também! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Janeiro 2, 2007 Denunciar Share Postado Janeiro 2, 2007 opabom as cores você defini como preferir, mas a lógica seriao seguinte, você vai ter que criar uma variavel global, prapoder armazenar o valor a cada chamada de desenhodo DBGrid, mais ou menos assimPrimeiro adicione uma variavel global, pode ser acima deimplementationvar 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ivano
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
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.