//============================================================================== procedure TfrmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); {******************************************************************************* * * Affiche une puce différente en fonction de la valeur contenue dans * JOB_COUNTRY * *****} var i: integer; begin with dtmdlIB do begin if ( Column.FieldName = 'ImagePay' ) then begin if tblEmployeeJOB_COUNTRY.Value = 'Canada' then i := 0 else if tblEmployeeJOB_COUNTRY.Value = 'USA' then i := 1 else i := 2; ImageList1.draw( DBGrid1.Canvas ,Rect.Left + 20 , Rect.Top + 4, i ); end; end; end;