Array
(
)

Registros em DBGrid com cor diferente!

Ricieri
   - 03 abr 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?


Nasguone
   - 03 abr 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


Ricieri
   - 04 abr 2006

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


Paullsoftware
   - 04 abr 2006

selecione o dbgrig vá na Objetc Inspector clique na guia events e procure pelo evento DBGrid1DrawColumnCell ou DBGrid1DrawDataCell e faça o código abaixo:
esse foi feito no DBGrid1DrawColumnCell do dbgrid
#Código

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: