ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

DBgrid Zebrado com Zeus

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
eudiclei
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 23 de Março de 2005
Mensagens: 178

MensagemEnviada: Qua Jun 15, 2011 7:44 am    Assunto: DBgrid Zebrado com Zeus Responder com Citação

Amigos,

não consigo zebrar o dbgrid utilizando os componentes do zeos.
no código abaixo utiliza um table1.
no meu programinha tenho apenas um zconnection1 e um zquery1.
como ficaria este código?

Código:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if State = [] then
  begin
    if Table1.RecNo mod 2 = 1 then
      DBGrid1.Canvas.Brush.Color := clAqua
    else
      DBGrid1.Canvas.Brush.Color := clWhite;
  end;
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
[/code]
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Qua Jun 15, 2011 9:27 am    Assunto: Responder com Citação

este codigo deixa o grid zebrado independente do DataSet q vc esta usando:

Código:
procedure TForm1.GridItensDrawColumnCell(Sender: TObject;
   const Rect: TRect; DataCol: Integer; Column: TColumn;
   State: TGridDrawState);
begin
   with DataModule1 do
   begin
      if not (gdSelected in State) then
      begin // se a célula não está selecionada
         if not odd((Sender as TDBGrid).DataSource.DataSet.RecNo) then // se for ímpar
            (Sender as TDBGrid).Canvas.Brush.Color := $00FFFFEC; // define uma cor de fundo
         (Sender as TDBGrid).Canvas.FillRect(Rect); // pinta a célula
      end;
      (Sender as TDBGrid).DefaultDrawDataCell(Rect, (Sender as TDBGrid).columns[datacol].field, State);
   end;
end;

_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB