Hola.
Yo también lo utilizo y es tal cual comenta lbidi.
Solo comentar que la llamada a grid.CalculateTotals() puede llevar como parámetro True o False, dependiendo si quieres que la operación de cálculo sea con todos los registros del grid o sólamente con los que están seleccionados.
Además utilizo éste código para que queden los importes formateados :
Código Delphi
[-]
procedure TFBusqueda.smDBGridUIDrawFooterCell(Sender: TObject; Canvas: TCanvas;
FooterCellRect: TRect; Field: TField; var FooterText: string;
var DefaultDrawing: Boolean);
begin
if (Field is TFloatField) then
if (Field as TFloatField).currency then
if FooterText <> '' then
FooterText := FormatFloat(',0.00', StrToFloat(FooterText));
end;