Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Copiar Campos de un ClientDataSet a Otro (https://www.clubdelphi.com/foros/showthread.php?t=5033)

linsua 06-11-2003 14:05:35

Copiar Campos de un ClientDataSet a Otro
 
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

Código:

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?

Código:

var
  FieldDefSource: TFieldDef;
  FieldDefDest: TFieldDef;

begin
  FieldDefSource := ClientDataSet1.FieldDefs[1];

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

// Saludos


La franja horaria es GMT +2. Ahora son las 03:39:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi