GARANTIR DESCONTO

Fórum COLORIR LINHA SELECIONADA INTEIRA DO DBGRID #484402

03/07/2014

0

olá amigos, fiz uma procedure para zebrar as linhas do meu grid e na linha selecionada ficar na cor vermelha, porem ao selecionar a linha ele pinta apenas a celula selecionada e não a linha toda, podem me ajudar? vejam como fiz:

begin
with (Sender as TDBGrid) do
begin
if (gdSelected in State) then
Canvas.Brush.Color := clRed

else
if (Column.Field.DataSet.RecNo mod 2) = 0 then
Canvas.Brush.Color := clWhite
else
Canvas.Brush.Color := clLtGray;
DefaultDrawDataCell(Rect, columns[DataCol].Field, State);
end;


OBRIGADO.
Ricardo Lima

Ricardo Lima

Responder

Post mais votado

03/07/2014

Olá Ricardo!
Não sei opinar sobre o teu código, pois sei muito pouco de Delphi...
Mas encontrei esse código na web, vê se te ajuda...
// Deixando um DBGrid zebrado. 

{ No evento OnDrawColumnCell do DBGrid, deixe conforme 
 o cóadigo abaixo : } 

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; 
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); 
begin 
  if not (gdSelected in State) then 
  begin 
    if ((Sender as TDBGrid).DataSource.DataSet.RecNo mod 2 = 0) then 
      (Sender as TDBGrid).Canvas.Brush.Color := clWindow 
    else 
      (Sender as TDBGrid).Canvas.Brush.Color := clSkyBlue; 
     
    (Sender as TDBGrid).Canvas.FillRect(Rect); 
    (Sender as TDBGrid).defaultdrawcolumncell(rect,datacol,column,state); 
  end; 
end; 

{ Neste exemplo, as linhas de Número par ficarão brancas 
e as linhas de número ímpar, ficarão azul. }

[url]http://www.showdelphi.com.br/dica/forms/36/como-deixar-um-dbgrid-zebrado-colorido-delphi[/url]

Marisiana Battistella

Marisiana Battistella
Responder

Gostei + 1

Mais Posts

03/07/2014

Ricardo Lima

Obrigado Marisiana, Ajudou sim. :)
Responder

Gostei + 0

03/07/2014

Marisiana Battistella

Por nada! =)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar