Durante o desenvolvimento de sistemas, nos deparamos com sistuação em que precisamos exibir uma lista de registros e permitir que o usuário selecione um ou mais registros para realizar uma determinada ação.

Para estes casos, existe uma propriedade no componente DBGrid chamada de dgMultiSelect que deve estar setada com True para permitir que o usuário possa selecionar mais de um linha no dbgrid.

Object Inspector do DBGrid
Imagem do object inspector exibindo propriedades do DBGrid

 

Após realizar tal sinalização o sistema irá permitir a seleção multipla, daí você vai precisar de um procedimento que consiga obter do DBGrid quais linhas foram selecionadas pelo usuário. Abaixo descrevo o procedimento para realizar tal pesquisa:

Observações importantes:
dbgrdLancamentos: Nome do meu DBGrid no formulário
contador : É uma variável do tipo inteiro que precisar estar declarada no procedimento.
With dbgrdLancamentos do
  Begin
    for contador:= 0 to Pred(SelectedRows.Count) do
    Begin
       Datasource.Dataset.Bookmark:= SelectedRows[contador]; //O comando SelectedRows irá indicar qual o registro atual no DataSet
       // Você adiciona aqui o comando desejado para realizar com o registro do DataSet.
    end;
  End;

 

 

Com essas informações as possibilidades de implementação são inúmeras.

Boas implementações a todos.