RES: [delphi-br] Grid Zebrado nao funciona

2006-11-06 Por tôpico Celito Alves Tonial
Nao use RecNo. 
Declare uma variável, inicie ela com algum valor e vá incrementando de 1 em
1 a cada laço da iteração.
Daí vc vai testar EOF pra saber quando não houver mais registros. Não
esqueça de andar no dataset (dataset.Next).  

i:=0
while not ds.eof do
begin
if odd(i) then
pinta a grid
ds.next
inc(i)
end


-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Jeanne
Enviada em: segunda-feira, 6 de novembro de 2006 14:22
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Grid Zebrado nao funciona

oi pessoal, estou tentando deixar um grid Zebrado. O banco que estou
utilizando eh o Firebird e to utilizando um TQuery como dataset. 

A função que estou utilizando eh a seguinte:

   if not odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
  if not (gdSelected in State) then
  begin
   with TDbGrid(Sender) do
   begin
Canvas.Brush.Color := $00FFEFDF;
Canvas.FillRect(Rect);
DefaultDrawDataCell(rect,Column.Field,State);
   end;

  end;

O problema é que o valor desse TDBGrid(Sender).DataSource.DataSet.RecNo é
sempre -1. Alguem sabe porque acontece isso?

[As partes desta mensagem que não continham texto foram removidas]



--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos

 



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 



Res: [delphi-br] Grid Zebrado nao funciona

2006-11-06 Por tôpico Luis Lopes
Eu utilizo o código abaixo, que encontrei na net, e não tenho problema algum. 
Se vc observar é idêntico ao seu.

procedure TFormPadrao.DBGridPadraoDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  // Se a linha for ímpar
  if not odd((Sender as TDBGrid).DataSource.DataSet.RecNo) then
// se a célula não está selecionada
if not (gdSelected in State) then
begin
  // Seta a cor de fundo da célula
  (Sender as TDBGrid).Canvas.Brush.Color := $00FFEFDF;
  // Pinta a célula
  (Sender as TDBGrid).Canvas.FillRect(Rect);
  // Pinta o texto padrão
  (Sender as TDBGrid).DefaultDrawDataCell(rect, Column.Field, State);
end;
end;
 
Luis Alberto
Belo Horizonte - MG


- Mensagem original 
De: Jeanne [EMAIL PROTECTED]
Para: delphi-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 6 de Novembro de 2006 14:21:52
Assunto: [delphi-br] Grid Zebrado nao funciona

oi pessoal, estou tentando deixar um grid Zebrado. O banco que estou utilizando 
eh o Firebird e to utilizando um TQuery como dataset. 

A função que estou utilizando eh a seguinte:

   if not odd(TDBGrid(Sender).DataSource.DataSet.RecNo) then
  if not (gdSelected in State) then
  begin
   with TDbGrid(Sender) do
   begin
Canvas.Brush.Color := $00FFEFDF;
Canvas.FillRect(Rect);
DefaultDrawDataCell(rect,Column.Field,State);
   end;

  end;

O problema é que o valor desse TDBGrid(Sender).DataSource.DataSet.RecNo é 
sempre -1. Alguem sabe porque acontece isso?

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos

 









___ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 


[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html