[firebase-br] RES: OFF Topic - db_grid IBO

Felix - SOL Informática felix em solsistemas.com
Seg Jul 21 16:50:39 -03 2014


procedure TFm_PesqCartao.DBGrid1DrawColumnCell(Sender: TObject;  const Rect:
TRect; DataCol: Integer; Column: TColumn;  State: TGridDrawState);
begin
   if (TabelaSituacao.AsString = 'Ativo') then
      DBGrid1.Canvas.brush.Color := $00FFD6D2
   else
      if (TabelaSituacao.AsString = 'Quitado') then
         DBGrid1.Canvas.brush.Color := $00D9FFDB
      else
         DBGrid1.Canvas.brush.Color := $00D2D2FF;

// mude a cor das celulas com foco
   if(gdfocused in State) then
   begin
      DBGrid1.Canvas.brush.Color:= clHighlight;
      DBGrid1.Canvas.Font.Color := clWhite;
   end;

   DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,state);
end;

Francisco Felix
www.solsistemas.com

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Washington
Enviada em: segunda-feira, 21 de julho de 2014 16:29
Para: Lista Firebase - BR
Assunto: [firebase-br] OFF Topic - db_grid IBO

Caros colegas

Já li aqui na lista sobre pintar as linhas do db grid do IBO de acordo com
uma condição, mas ainda não encontrei a solução. Alguém achou alguma forma
de fazer isto ?

Abaixo a minha rotina, colocada no evento ONGetCellProps, mas o problema que
ao clicar no grid ele pinta o grid inteiro com a cor da condição.


procedure TfmAgenda.IB_GridAgendaGetCellProps(Sender: TObject; ACol,
  ARow: Integer; AState: TGridDrawState; var AColor: TColor; AFont: TFont);
begin
     if dmDados.IB_qryAgenda.BufferRowNum > 0 then
        begin
           if dmDados.IB_qryAgenda.FieldByName('pac_codigo').asInteger = 1
then    // para mostrar em vermelho o horário cancelado.
              begin
                 AColor:= clRed;
                 AFont.Color:= clWhite;
              end
           else
              begin
                 if
dmDados.IB_qryAgenda.FieldByName('age_comparecido').asString = 'S' then
                    begin
                      AColor:= clGreen;
                      AFont.Color:= clWhite;
                    end
                 else
                    begin
                      AColor:= clWindow;
                      AFont.Color:= clBlack;
                    end;
              end;
        end;
end;

Atenciosamente

#######################
Washington A. Muller da Silva
http://wvoleibol.blogspot.com
washington.ams em gmail.com
#######################
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista