Somando as linhas selecionadas de um DBGrid

 

Adicione em um formulário os seguintes componentes: um DBGrid, um DataSource, um ClientDataSet, um Button e um Edit. Faça a ligação entre o DBGrid, DataSource e ClientDataSet.

Adicione o arquivo employee.xml através da propriedade FileName do ClientDataSet. Adicione no DBGrid as colunas referente aos campos EMPNO, LASTNAME, FIRSTNAME e SALARY.

Altere as propriedades Options.dgMultiSelect, Options.dgRowSelect e Options.dgAlwaysShowSelection para True do DBGrid. No OnClick do botão digite o seguinte código:

 

var

  i: Integer;

  Soma: Currency;

begin

  Soma := 0;

  for i := 1 to DBGrid1.SelectedRows.Count do

  begin

    ClientDataSet1.GotoBookMark(Pointer(DBGrid1.SelectedRows.Items[i-1]));

    Soma := Soma +  ClientDataSet1.FieldByName('Salary').AsFloat;

  end;

  Edit1.Text := FormatFloat('R$ ###,##0.00', Soma);

end;

 

Rode a aplicação, marque alguns campos e clique sobre o botão para somas as linhas selecionadas (Figura). Você pode criar uma função genérica, recebendo como parâmetro o DBGrid e o campo que será usado na soma.