Ver Mensaje Individual
  #5  
Antiguo 16-11-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
Cool

bien.

No discutiré si es la mejor forma de hacerlo o no, pero creo que podes definir una propiedad en el formulario, bien un DataSet o un DataSource (depende de tu conveniencia). Y el el método que asigne la propiedad hacer el "trabajo sucio" de identificar los campos y crear controles para ellos.

Algo como:

Código:
Type
  TFormaABM = class(TForm)
  private
  ...
    FDataSet : TDataSet;
  ...
    Procedure SetDataSet(Value : TDataSet);
  public
    Property DataSet : TDataSet read FDataSet write SetDataSet;
  end;

Implementation
...
  Procedure TFormaABM.SetDataSEt(Value : TDataSet);
  
  Begin
    if assigned(FDataSet) Then
      BorrarControlesViejos;
    FDataSet := Value;
    CrearControlesNuevos;
    FDataSet.FreeNotification(Self);
  End;
Donde BorrarControlesViejos tendrá la lógica para eliminar los controles asociados al dataSet y CrearControlesNuevos tendrá la lógica para escanear la propiedad Fields del DataSet y crear los controles apropiados para cada uno.

En fin... es solo una idea.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita