Hola.
Otra opción:
Código Delphi
[-]
procedure CopyGridData( Source, Target: TDBGrid );
var
i,j: Integer;
begin
if Source.SelectedRows.Count > 0 then
begin
for i := 0 to Source.SelectedRows.Count-1 do
begin
Source.DataSource.DataSet.GotoBookmark( Pointer(Source.SelectedRows.Items[i]) );
Target.DataSource.DataSet.Append;
for j := 0 to Target.FieldCount-1 do
Target.Fields[j].Value := Source.Fields[j].Value;
Target.DataSource.DataSet.Post;
end;
end;
end;
llamada ej.:
Código Delphi
[-]
procedure TForm1.btnCopy(Sender: TObject);
begin
CopyGridData( SourceGrid, TargetGrid );
end;
Hace un tiempo se trató una variante aquí:
Drag & Drop de una selección múltiple.
Saludos