Se adapta CopyDataTableDA5, para que el puntero de posicion de la tabla source no se pierda

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@477 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
roberto 2009-11-25 11:16:29 +00:00
parent 8bfaf9a5a6
commit 3f4cca37f3

View File

@ -67,10 +67,19 @@ var
AFilter : String; AFilter : String;
AObj : ISeleccionable; AObj : ISeleccionable;
i : Integer; i : Integer;
AID: Integer;
begin begin
AFilter := ''; AFilter := '';
AFiltered := False; AFiltered := False;
ShowHourglassCursor;
ASource.DisableControls;
ATarget.DisableControls;
AID := ASource.GetRowRecIDValue; //Se guarda la posicion de la tabla fuente
try
if OnlySelectedRows then if OnlySelectedRows then
begin begin
if not Supports(ASource, ISeleccionable, aObj) then if not Supports(ASource, ISeleccionable, aObj) then
@ -109,10 +118,6 @@ begin
DABin := Binary.Create; DABin := Binary.Create;
DADataStreamer := TDABin2DataStreamer.Create(nil); DADataStreamer := TDABin2DataStreamer.Create(nil);
ShowHourglassCursor;
ASource.DisableControls;
ATarget.DisableControls;
try
ATarget.LogicalName := ASource.LogicalName; // We need to specify new dataset LogicalName ATarget.LogicalName := ASource.LogicalName; // We need to specify new dataset LogicalName
ATarget.RemoteFetchEnabled := False; // "Desconectamos" la tabla destino del servidor ATarget.RemoteFetchEnabled := False; // "Desconectamos" la tabla destino del servidor
@ -136,6 +141,8 @@ begin
ASource.Filtered := True; ASource.Filtered := True;
end; end;
ASource.Locate(ASource.RecIDField.FieldName, AID, []); //Se intenta restablecer la posicion inicial de la tabla fuente
finally finally
FreeAndNil(DABin); FreeAndNil(DABin);
FreeAndNil(DADataStreamer); FreeAndNil(DADataStreamer);