DBGrid zebrado

Delphi

23/03/2004

Olá amigos,

coloque a seguinte função do no DBGrid:

procedure TFrmMostraCliente.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState);
begin
If odd(DataModule1.ADOQryClientes.RecNo) then begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;

Ficou zebrado, mas na hora de usar as setas para movimentar o grid, no campo atual não fica como no modo original, fonte branca, e fundo azul.

Como faço para a rotina funcionar no modo original, com o grid zebrado.

Atenciosamente,

Silvio Guedes.


Silviogs

Silviogs

Curtidas 0

Respostas

Spider

Spider

23/03/2004

if not (gdselected in state) then
begin
If odd(DataModule1.ADOQryClientes.RecNo) then
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
else
begin
RxDBGrid1.Canvas.Font.Color := clWhite;
RxDBGrid1.Canvas.Brush.Color := clBlack;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);


GOSTEI 0
Silviogs

Silviogs

23/03/2004

funcionou perfeito.

Valeu!!!!!

Muito Obrigado.


Silvio Guedes.


GOSTEI 0
POSTAR