Buenas Tardes Foristas
Con el siguiente codigo en un scrollbox creo en ejecucion los campos pertenecientes a una tabla. Cunado Cambio de Tabla requiero recrear los campos de la nueva tabla previa eliminacion de los campos anteriores. pero no he podidom usarlo. Ajunto el Codigo de creacion de los campos y el internto de eliminarlos .
La creacion de Campos funciona muy bien
Gracias por su colaboracion
Código:
procedure TFDSPTAB.BitBtn_showFieldsClick(Sender: TObject);
var
i:Integer;
s:string;
campo:TField;
DBEdit0: TDBEdit;
Label0: TLabel;
localOwner: TComponent;
top:Integer;
begin
// se intenta eliminar los campos los campos creados con anterioridad
for i:=0 to ScrollBox1.ComponentCount -1 do begin;
ScrollBox1.Components[i].free ;
end;
// crear los campos por la tabla abierta
for i:=0 to D.DSPTAB.Fields.Count -1 do begin
S:= D.DSPTAB.fields[i].FieldName;
DBEdit0 := TDBEdit.Create(nil) ;
Label0 := TLabel.Create(nil) ;
with Label0 do begin
Name:= 'Label_' + s;
Caption :=s + ' ...................................';
Parent:= ScrollBox1;
Top:= (24) +(i*23);
Left:=7;
end;
with DBEdit0 do begin
Name :=s;
DataField :=s;
//Parent:= Form1;
Parent:= ScrollBox1; // Panel_fields;
Top:= (Height + 3) +(i*23);
Left:=160;
Width :=200;
DataSource := D.DSPTAB_d ;
end;
end;