Registros em DBGrid com cor diferente!

Delphi

03/04/2006

Pessoal, como faço para tipo:
Pegar os registros com valores negativos no campo vl_debito e demonstrar no grid de uma cor diferente, tipo vermelho?


Ricieri

Ricieri

Curtidas 0

Respostas

Nasguone

Nasguone

03/04/2006

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const
Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
If Condição then Dbgrid1.Canvas.Font.Color:= clFuchsia; Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State);
end;

isso vai pintar a fonte de rosa exemplo


GOSTEI 0
Ricieri

Ricieri

03/04/2006

amigo, eu sou leigo ainda...
tem como vc dar um exemplo de como seria a condição?


GOSTEI 0
Paullsoftware

Paullsoftware

03/04/2006

selecione o dbgrig vá na Objetc Inspector clique na guia events e procure pelo evento [b:fbd8dd11b9]DBGrid1DrawColumnCell [/b:fbd8dd11b9]ou [b:fbd8dd11b9]DBGrid1DrawDataCell[/b:fbd8dd11b9] e faça o código abaixo:
esse foi feito no [b:fbd8dd11b9]DBGrid1DrawColumnCell[/b:fbd8dd11b9] do dbgrid
if ( DM.QYLOCACOES.FieldByName(´TIPO´).AsString = ´A´ ) then
 begin
  DBGrid1.Canvas.Font.Color := clRed;
  DBGrid1.Canvas.Font.Style := [];
  DBGrid1.Canvas.FillRect(Rect);
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
 end
else
 if ( DM.QYLOCACOES.FieldByName(´TIPO´).AsString = ´F´ ) then
  begin
   DBGrid1.Canvas.Font.Color := clBlue;
   DBGrid1.Canvas.Font.Style := [];
   DBGrid1.Canvas.FillRect(Rect);
   DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;


Onde tipo é um campo da minha tabela que pode receber os valores S ou N espero ter ajduado :wink:


GOSTEI 0
POSTAR