Me temo amigo que para el detalle debes hacerlo registro a registro..
... vamos que es solo agregar otro ciclo(While) más...
...hummm..
..aunque viendo mejor la situación de tu problema me pregunto si no te podría servir el método
CloneCursor que tienen los ClientDataSet, aunque en realidad el método ClonCursor lo único que hace es hacer que ambos clientDataset apunten a las misma direccion de memoria, es decir es como tener dos punteros hacia la misma direccion de memoria,pero en éste caso la navegacion, filtrado,etc se hace independientemente, pero si eliminamos,modificamos o insertamos registros en cualquiera de los ClientDataSet(llámese original o el supuesto clon) se va reflejar en el otro
, por eso no comparto la idea de que dicho método se llame ClonCursor por que no clona nada
. Si buscamos el significado de la palabra "Clon" o "Clonación" nos vamos a dar cuenta que es la creacion de otro "objeto" (hablando en terminos infórmatico) independiente, de tal forma que si cambio algo de dicho objeto, no tiene por qué afectar al original y viceversa.
por eso el método ClonCursor debío tener otro nombre.
Desde luego en delphi existe el método
"Assign" que todas las clases descendiente de "TPersistent" lo heredan, dicho método supuestamente debería asignar(clonar) un objeto a partir de otro,claro está que cada clase debería sobreescribirlo(Override) e implementarlo, pero lamentablemente no todas las clases lo implemetan tan solo algunas que otras clases por ejemplo la clase TStrings,etc., pero la clase TClientDataSet no la ha sobreescrito.
Actualmente desconosco si en las más nuevas versiones de Delphi se han implementado dicho método en más clases...
De todas formas te pongo a continuacion un ejemplo de como clonar(copiar) un clientDataSet en otro de la siguiente Forma :
Código Delphi
[-]procedure ClonClientDataset(Original, Clon: TClientDataset);
var
Stream: TMemoryStream;
begin
Stream:= TMemoryStream.Create;
try
Original.SaveToStream(Stream);
Stream.Position:= 0;
Clon.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;
Espero te sea de utilidad...
Un saludo Clonado...