Fórum Mudar da fonte no DbGrid de acordo com valor #284882
16/06/2005
0
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
Curtir tópico
+ 0Post mais votado
16/06/2005
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
Gostei + 1
Mais Posts
16/06/2005
Paullsoftware
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??
Gostei + 0
16/06/2005
Paullsoftware
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:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)