PDA

Ver la Versión Completa : Copiar Campos de un ClientDataSet a Otro


linsua
06-11-2003, 14:05:35
Hola a Todos

Hace timepo que estoy dando vueltas con este problema, no puedo copiar los campos de un cliente data set a otro.

He probado con este codigo:

ClientDataSet2.Close;
ClientDataSet2.Fields.Add(ClientDataSet1.Fields[1]);
ClientDataSet2.Open;

Pero no me sirve, porque me agrega una instancia del campo de ClientDataSet1 a ClientDataSet2, lo curioso es que si burro el campo de ClientDataSet2 tambien se me borra el campo de ClientDataSet1

bueno, muchas gracias

un saludo

__cadetill
06-11-2003, 14:34:34
dataset.FieldDef.Add(nombre_campo, tipo_campo, tamaño, requerido)

Espero te sirva

linsua
06-11-2003, 18:01:38
Hola,

No esto no me sirve, ya que necesito copiar todas las propiedades tal cual se encuentran en el cliente data set origen por llamarlo de algun modo.
Y si tiene campos lookup p calculado tambien necesito copiarlos

muchas gracias

__cadetill
06-11-2003, 21:15:07
bueno, con eso creas el campo, luego le puedes poner las características que quieras


Table1.Fields[0].FieldKind := fkData;
Table1.Fields[0].DisplayLabel := 'lolo';
Table1.Fields[0].EditMask := la que sea;
Table1.Fields[0].DisplayWidth := 100;
........

roman
06-11-2003, 21:25:00
¿No se podría con algo como esto?


var
FieldDefSource: TFieldDef;
FieldDefDest: TFieldDef;

begin
FieldDefSource := ClientDataSet1.FieldDefs[1];

FieldDefDest := ClientDataSet2.FieldDefs.AddFieldDef;
FieldDefDest.Assign(FieldDefSource);
end;


// Saludos