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

Washington washington.ams em gmail.com
Seg Jul 21 17:39:36 -03 2014


Caro Gladiston

Foi exatamente o que fiz, procurei nos exemplos do IBO, no site, mas as 
respostas apontam para o ongetcellprops.

No caso do grid, utilizo o TIB_grid, neste caso, como vc mesmo mencionou, só 
conecta as classes do IBO, e todas as demais, pelo menos até o momento, não 
funciona com o mesmo.

Estou tentando aqui, mas até agora nada, a mais de uma semana, recorri a 
lista, no último caso.

Atenciosamente

#######################
Washington A. Muller da Silva
http://wvoleibol.blogspot.com
washington.ams em gmail.com
#######################
-----Mensagem Original----- 
From: Gladiston Santana
Sent: Monday, July 21, 2014 5:25 PM
To: FireBase
Subject: Re: [firebase-br] RES: OFF Topic - db_grid IBO

Use os exemplos que acompanham o IBO para você aprender a usar seus
componentes.
Os componentes IBO* são compativeis com TDataset, assim não tem diferença.
Se estiver usando grid com herança TIB_*, este sim só se conecta as classes
do IBO, neste caso, um TIB_Grid seria mais ou menos assim:
procedure TFormMAIN.GradePesquisaDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  with (Sender as TIB_Grid) do
  begin
    if (gdSelected in State) or (gdFocused in State) then
    begin
      Canvas.Brush.Color := clBlue;
      Canvas.Font.Color := clWhite;
    end
    else
    begin
     if (not DoExibeAtivas.Checked) and (PesquisaSQL.Active) and
(PesquisaSQL.BufferFieldByName('status').AsString='A')
     then Canvas.Brush.Color := ZebraAberto.Color
     else
      begin
        if Odd(ARow)
        then Canvas.Brush.Color := Zebra1.Color
        else Canvas.Brush.Color := Zebra2.Color;
      end;
    end;

DefaultDrawCell(acol,arow,rect,state,GetCellDisplayText(acol,arow),taLeftJustify);//
(rect,column.field,state);
  end;
end;

Como eu uso, o mesmo evento para mil e uma coisa, faço uso massivo de
Sender.
Os grids do ibo são mais programáveis, por exemplo, mudar um texto S/N para
Sim ou Não usando o DefaultDrawCell dele é direto, sem usar campo calculado
ou colunas virtuais.


Em 21 de julho de 2014 16:50, Felix - SOL Informática <felix em solsistemas.com
> escreveu:

> 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
>
>
> ______________________________________________
> 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
>



-- 
--
B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
  U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
   B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
   7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
    NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
    . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
     55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
     ==============================================r@@@@F=====
     Gladiston Santana                             8 em B@B,
     Supervisor de TI                             G em B@B7
     Tel.:+551147873122 R:228                    :@B em B0
     Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
     Visite nosso site: www·vidy·com·br         BB@@@u
     Visite também : www·expolabor·com·br      GB em B@N
______________________________________________
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