Selecionar e excluir itens do Dbgrid ( Urgente)
Pessoal, Bom dia.
Alguém pode me ajudar , por favor ?
Tenho uma DBgrid e um botão .
Desejo selecionar os itens no Dbgrid e excluir todos.
Alguem pode me ajudar como faz isso ?
Segue o comando de exclusão que está no botão de excluir.
begin
if dm.cdsMonitoramento.State in [dsBrowse] then
begin
if MessageDlg('Deseja excluir o registro?', mtConfirmation, mbYesNo, 0) = mrYes then
begin
DBGrid1.DataSource.DataSet.Delete;
dm.cdsMonitoramento.Delete;
dm.cdsMonitoramento.ApplyUpdates(-1);
dm.cdsMonitoramento.Refresh; }
end;
end;
end;
Alguém pode me ajudar , por favor ?
Tenho uma DBgrid e um botão .
Desejo selecionar os itens no Dbgrid e excluir todos.
Alguem pode me ajudar como faz isso ?
Segue o comando de exclusão que está no botão de excluir.
begin
if dm.cdsMonitoramento.State in [dsBrowse] then
begin
if MessageDlg('Deseja excluir o registro?', mtConfirmation, mbYesNo, 0) = mrYes then
begin
DBGrid1.DataSource.DataSet.Delete;
dm.cdsMonitoramento.Delete;
dm.cdsMonitoramento.ApplyUpdates(-1);
dm.cdsMonitoramento.Refresh; }
end;
end;
end;
Watson Rocha
Curtidas 0
Melhor post
Douglas
12/02/2015
Olá Watson, tudo bem?
Você irá fazer da seguinte forma abaixo:
Você vai utilizar o objeto dataSource que está conectado ao seu dm.cdsMonitoramento. No dbGrid ative as opções de MultiSelect e RowSelect.
Qualquer dúvida estou à disposição!
Você irá fazer da seguinte forma abaixo:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
if dm.cdsMonitoramento.State in [dsBrowse] then
begin
if MessageDlg('Deseja excluir o registro?', mtConfirmation, mbYesNo, 0) = mrYes then
begin
for I := 0 to DBGrid1.SelectedRows.Count - 1 do
begin
DataSource1.DataSet.GotoBookmark(DBGrid1.SelectedRows.Items[i]);
DataSource1.DataSet.Delete;
end;
DataSource1.DataSet.Open;
end;
end;
end;
Você vai utilizar o objeto dataSource que está conectado ao seu dm.cdsMonitoramento. No dbGrid ative as opções de MultiSelect e RowSelect.
Qualquer dúvida estou à disposição!
GOSTEI 1
Mais Respostas
Renato Rubinho
10/02/2015
GOSTEI 0
Watson Rocha
10/02/2015
Rubinho, Bom dia.
Obrigado pelo retorno, mas esse link infelizmente nao me atende.
Eu já fiz isso e nao deu certo.
Eu ativei a função do Multiselect , mas não exclui.
Exclui apenas a 1 linha.
Obrigado pelo retorno, mas esse link infelizmente nao me atende.
Eu já fiz isso e nao deu certo.
Eu ativei a função do Multiselect , mas não exclui.
Exclui apenas a 1 linha.
GOSTEI 0
Renato Rubinho
10/02/2015
Aquele era um exemplo para você utilizar como base, mas para você não serve porque, após o Delete, ApplyUpdate e Refresh, o clientdataset é atualizado e perde a seleção do grid.
Uma sugestão é você fazer primeiro um loop (conforme o exemplo) e armazenar em uma matriz a chave dos registros que estão marcados.
Ao final você terá os registros que deverão ser excluídos.
A partir da matriz você poderá excluí-los.
Uma sugestão é você fazer primeiro um loop (conforme o exemplo) e armazenar em uma matriz a chave dos registros que estão marcados.
Ao final você terá os registros que deverão ser excluídos.
A partir da matriz você poderá excluí-los.
GOSTEI 0