GARANTIR DESCONTO

Fórum Mudar da fonte no DbGrid de acordo com valor #284882

16/06/2005

0

Ae galera, pesquisei no forum sobre o assunto encontrei algumas dicas mais comigo não funcionaram... eu quero o seguinte:
no meu sistema na parte de locações tenho, uma tabela chamada LOCACAO e outra chamada de DETLOCACAO
na DETLOCACAO tenho os campos: IdLocacao,Filme, Bonus e Diaria...
e o cara escolhe qual o filme grátis (´BONUS´) ele pinta a linha de azul, até ai blz, mais na tela de devolução uso as mesmas tabelas e quando vou tentar pintar a linha do filme que foi gratis (´BONUS´) não funciona, alguém sabe informar porque...?

quero apenas mudar a cor da fonte, e não a de preenchimento...! :?:


Paullsoftware

Paullsoftware

Responder

Post mais votado

16/06/2005

Ve se Te ajuda em algo:

no [b:e292d9d263]OnDrawColumCell[/b:e292d9d263] da Grid coloque:

 
   if (Sender as TDBGrid).DataSource.DataSet.FieldByName(´VAZIO´).Value = ´SIM´   then
    begin
     (Sender as TDBGrid).Canvas.Font.Color := clBlue;
     (Sender as TDBGrid).Canvas.Font.Style:= [fsbold];
    end
   else
    begin
     (Sender as TDBGrid).Canvas.Font.Color := clBlack;
     (Sender as TDBGrid).Canvas.Font.Style:= [];
    end;
 
   (Sender as TDBGrid).Canvas.FillRect(Rect);
   (Sender as TDBGrid).DefaultDrawDataCell(Rect, (Sender as   TDBGrid).columns[datacol].field, State);



Steve_narancic

Steve_narancic
Responder

Gostei + 1

Mais Posts

16/06/2005

Paullsoftware

Ae galera, pesquisei no forum sobre o assunto encontrei algumas dicas mais comigo não funcionaram... eu quero o seguinte: no meu sistema na parte de locações tenho, uma tabela chamada LOCACAO e outra chamada de DETLOCACAO na DETLOCACAO tenho os campos: IdLocacao,Filme, Bonus e Diaria... e o cara escolhe qual o filme grátis (´BONUS´) ele pinta a linha de azul, até ai blz, mais na tela de devolução uso as mesmas tabelas e quando vou tentar pintar a linha do filme que foi gratis (´BONUS´) não funciona, alguém sabe informar porque...? quero apenas mudar a cor da fonte, e não a de preenchimento...! :?:


Melhorando a pergunta...
tenho uma tabela com três campos:
Vazio, Estoque e Sigla

Quando Vazio for SIM pinte a fonte de Azul
Quando Estoque for menor que 1 Vermelho
Quando Sigla for igual a CX Verde...

e ai??


Responder

Gostei + 0

16/06/2005

Paullsoftware

valeu Steve...
eu consegui!!! :lol:

[b:14699096af]Pra mudar a cor da fonte;[/b:14699096af]
    if ( Detalhesbonus.AsBoolean ) then
    begin
      DBGrid1.Canvas.Font.Color:= clred;
      DBGrid1.Canvas.Font.Style := [fsBold];
      DBGrid1.Canvas.FillRect(Rect);
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;

[b:14699096af]Pra mudar a cor da linha[/b:14699096af]
 
   if ( Detalhesbonus.AsBoolean ) then
    begin
      DBGrid1.Canvas.Brush.Color:= clred;
      DBGrid1.Canvas.Font.Style := [fsBold];
      DBGrid1.Canvas.FillRect(Rect);
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;

[b:14699096af]Se quizer mudar apenas um campo individual...[/b:14699096af]
//if (Column.Field.FieldName = ´bonus´) then //Nome do título da coluna...Obs.: exatamente igual
//  begin
    if ( DM_BANCO.DETLOCACAObonus.AsBoolean ) then
    begin
      DBGrid2.Canvas.Font.Color:= clred;
      DBGrid2.Canvas.Font.Style := [fsBold];
      DBGrid2.Canvas.FillRect(Rect);
      DBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
//  end;


Funciona certinho... :wink:


Responder

Gostei + 0

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

Aceitar