Registros em DBGrid com cor diferente!

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

Respostas

03/04/2006

Nasguone

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


Responder Citar

04/04/2006

Ricieri

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


Responder Citar

04/04/2006

Paullsoftware

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 := [&93;;
  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 := &91;&93;;
   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:


Responder Citar