sábado, 15 de maio de 2010

Dicas Delphi - 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.


Take care

2 comentários:

Marcos disse...

Bom dia.
Coincidência maior, seria improvável. Meu nome também é MARCOS ANTONIO MOREIRA.
Sou iniciante em delphi e buscava um exemplo para somar as linhas selecionadas em um DBGRID.
Seu exemplo é perfeito.
Valeu.

Marcos

Marcos Antonio Moreira disse...

Ok amigo, Obrigado.